exp1:
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JPanel {
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
AffineTransform at = new AffineTransform();
at.setToRotation(-Math.PI / 2.0, getWidth() / 2.0, getHeight() / 2.0);
g2d.setTransform(at);
g2d.drawString("Vertical text", 10, 10);
}
public static void main(String[] a) {
JFrame f = new JFrame();
f.add(new Main());
f.setSize(300, 300);
f.setVisible(true);
}
}
exp:2
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main extends JPanel{
String s = "Vertical text";
int v;
public void paint(Graphics g) {
v = g.getFontMetrics(getFont()).getHeight() + 1;
int j = 0;
int k = s.length();
while (j < k + 1) {
if (j == k)
g.drawString(s.substring(j), 10, 10 + (j * v));
else
g.drawString(s.substring(j, j + 1), 10, 10 + (j * v));
j++;
}
}
public static void main(String[] a){
JFrame f = new JFrame();
f.add(new Main());
f.setSize(300,300);
f.setVisible(true);
}
}
分享到:
相关推荐
在给定的【标题】"Java输出竖排古典文字"中,我们可以推测这篇博文可能是关于使用Java编程语言来创建一个程序,该程序能够将文本以竖直的形式显示,类似古代书籍的排版方式。 首先,我们来看一下可能用到的技术点:...
12.5 BOXLAYOUT布局:介绍了盒子布局管理器,用于创建沿水平或垂直方向线性排列的组件。 12.6 NULL布局:讲解了没有布局管理器时如何手动控制组件的位置和大小。 第十三章:选择型组件 13.1 选择框:介绍了如何使用...
//创建一个垂直排列的Box boxLayout.setBorder(BorderFactory.createEmptyBorder(10,20,5,5)); //设置边界 container.add(boxLayout); //增加组件到容器上 for (int i=0;i;i ){ JLabel fontLabel=new ...
例如,小时钟的三个时间显示组件可能会采用`GridLayout`,让它们水平或垂直排列。 6. **注释**:源码中的注释是学习和理解代码的关键。良好的注释能帮助开发者理解每一部分代码的作用,加速学习过程。 7. **编程...
例如,`FlowLayout`可以使组件水平或垂直排列,`GridLayout`则按行和列对齐组件,而`BorderLayout`将容器分为北、南、东、西、中五个区域。Java记事本可能使用了这些布局管理器来组织菜单、工具栏和文本编辑区。 3....
`JScrollPane`则在需要显示大量数据或者需要滚动查看内容时非常有用,它可以自动添加垂直和水平滚动条。 在编程实践中,开发者通常会使用`JFrame`创建窗口,然后在其中添加`JPanel`,通过`JPanel`来组织和管理各种...
7. **Layout Managers**:Java GUI的布局管理器如FlowLayout、GridLayout、BorderLayout、GridBagLayout等,它们决定了组件在容器中的排列方式。 8. **Internationalization**:Java支持多语言,通过ResourceBundle...
- **GridLayout和BoxLayout**:布局管理器用于组织组件在窗口中的排列,例如GridLayout可将按钮整齐地排列成网格,BoxLayout则可以沿水平或垂直方向布局组件。 3. **事件处理**: - **ActionListener**:为按钮...
- **运算符面板** (`panel3`): 同样采用`GridLayout(4,1)`来垂直排列加、减、乘、除四个运算符按钮。 ### 2. 按钮操作与事件处理 - **数字按钮** (`b[]`): 当点击数字按钮时,会将相应的数字添加到输入字符串中。 ...
* 流式布局(FlowLayout):用于将GUI组件排列在水平或垂直方向的布局管理器。 * 网格布局(GridLayout):用于将GUI组件排列在网格结构中的布局管理器。 * 边框布局(BorderLayout):用于将GUI组件排列在边框结构...
`FlowLayout`是Java中最基础的布局管理器之一,它按照从左到右、从上到下的顺序排列组件。在`Window`类中,我们设置了`FlowLayout`的对齐方式为左对齐,水平和垂直间距分别为10和6像素。这样,窗口中的组件会按照...
Java界面设计是开发桌面应用程序的关键部分,Swing库是Java提供的一种用于构建用户图形界面(GUI)的强大工具。本资源包含了一系列优秀的Java界面实例,这些实例涵盖了Swing库中的所有控件,对于Java开发者,尤其是...
例如,`new JLabel("提示信息")`创建一个简单的文本标签。 3. **文本框组件**:为了接收用户的输入,如账号和密码,我们需要使用JTextField和JPasswordField。这些组件可以设置宽度,例如`new JTextField(10)`创建...
通常情况下,SeekBar是水平排列的,但有时为了适应特定的界面设计或者用户体验需求,我们可能需要创建一个垂直方向的SeekBar。这个主题“android 垂直seekbar”就涉及到了如何在Android中实现这样一个自定义控件。 ...
- **[və:tikəl]**:垂直(Vertical),方向上的一个属性。 - **['hɔri'zɔntəl]**:水平(Horizontal),方向上的另一个属性。 - **['leibl]**:标签(Label),用于显示文本或图像。 - **[tekst]**:文本(Text...
该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要求是至少两两相同,位置随机打乱。 b. 游戏规则是将相同数字的方块连接,但要...
- **Column**:列,表格中垂直排列的一组数据。 - **Temporal**:时间相关的,表示与时间有关的属性或操作。 以上词汇涵盖了Java开发过程中的各个方面,包括基础知识、语言特性、数据结构与算法、高级主题以及常用...
- **文本字段**:`JTextField` 和 `TextField` 用于显示文本或让用户输入文本。 - `tf1 = new JTextField(27);` 创建一个长度为27字符的文本框。 - `tf2 = new TextField(10);` 创建一个长度为10字符的文本框。 - ...
Swing组件种类繁多,包括按钮(JButton)、文本输入(JTextField、JTextArea)、列表(JList)、表格(JTable)、滚动面板( JScrollPane)以及菜单(JMenu、JMenuItem)等。在Java Swing组件全演示的小程序中,...