java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java图形界面

Java图形界面超实用使用教程

作者:m0_62526778

在Java编程中图形界面应用程序是非常常见和重要的一部分,下面这篇文章主要给大家介绍了关于Java图形界面的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

一、常用组件

1. JFrame

JFrame是Swing中最常用的顶级容器,它用于包含和管理其他Swing组件。JFrame提供了一些常用的方法,如setTitle()、setDefaultCloseOperation()、setResizable()、setVisible()等等,用于控制窗口的外观和行为。

2. JPanel

JPanel是Swing中常用的容器组件,用于将其他Swing组件放置在一起,形成一个组件集合。JPanel可以嵌套在其他容器中,如JFrame、JDialog等等。

3. JLabel

JLabel是Swing中用于显示文本或图像的组件,它可以用于显示静态的提示信息或标签等等。JLabel提供了一些常用的方法,如setText()、setIcon()、setHorizontalAlignment()等等,用于控制标签的文本和图像内容以及对齐方式等。

4. JTextField

JTextField是Swing中用于接收单行文本输入的组件,它可以用于输入和显示文本信息。JTextField提供了一些常用的方法,如setText()、getText()、setEditable()等等,用于控制文本框的内容和可编辑性等。

5. JButton

JButton是Swing中用于响应用户单击操作的组件,它可以用于触发相应的事件处理程序,如打开一个文件、执行计算等等。JButton提供了一些常用的方法,如setText()、setMnemonic()、addActionListener()等等,用于控制按钮的文本、快捷键和事件监听等。

6. JCheckBox

JCheckBox是Swing中用于提供复选框选项的组件,它可以用于让用户选择多个选项。JCheckBox提供了一些常用的方法,如setText()、isSelected()、addItemListener()等等,用于控制复选框的文本和选中状态以及事件监听等。

7. JRadioButton

JRadioButton是Swing中用于提供单选框选项的组件,它可以用于让用户从多个选项中选择一个。JRadioButton提供了一些常用的方法,如setText()、isSelected()、addItemListener()等等,用于控制单选框的文本和选中状态以及事件监听等。

8. JComboBox

JComboBox是Swing中用于提供下拉列表选项的组件,它可以用于让用户从多个选项中选择一个。JComboBox提供了一些常用的方法,如addItem()、setSelectedIndex()、addActionListener()等等,用于控制下拉列表的选项和选中状态以及事件监听等。

9. JList

JList是Swing中用于显示列表项的组件,它可以用于显示多个选项并允许用户进行选择。JList提供了一些常用的方法,如setListData()、getSelectedValue()、addListSelectionListener()等等,用于控制列表项的数据和选中值以及事件监听等。

(一)JPanel中常用方法

JPanel提供了一些常用的方法,如add()、remove()、setLayout()、getPreferredSize()等等,用于控制面板中的组件和布局方式以及尺寸等。下面是一些常用的方法介绍:

需要注意的是,JPanel默认使用流式布局管理器FlowLayout,该布局管理器按照添加顺序排列组件,并根据组件的首选大小自动调整其位置和大小。如果需要使用其他布局管理器,需要通过setLayout()方法来设置。

另外,JPanel还可以使用setBorder()方法来设置面板的边框样式,使用setBackground()方法来设置面板的背景色等等。JPanel的灵活性和多功能性使得它成为Swing界面设计中不可或缺的一部分。

(二)使用JPanel的场景如下

总的来说,JPanel是Swing中常用的容器组件,用于将其他Swing组件放置在一起,形成一个组件集合。它可以嵌套在其他容器中,如JFrame、JDialog等等,并且可以用于实现复杂的布局、分组显示相关组件、显示动态的组件以及实现重用的自定义组件等等。

(三)常用布局管理器

Java提供了多种布局管理器,用于控制组件在容器中的排列方式。以下是一些常用的布局管理器:

1. BorderLayout

描述:将容器分成5个区域:北、南、东、西和中心,各个组件可以填充其中一个或多个区域。

使用场景:适合用于将组件分割成不同的区域。

代码示例

JFrame frame = new JFrame("BorderLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());

frame.add(new JButton("North"), BorderLayout.NORTH);
frame.add(new JButton("South"), BorderLayout.SOUTH);
frame.add(new JButton("East"), BorderLayout.EAST);
frame.add(new JButton("West"), BorderLayout.WEST);
frame.add(new JButton("Center"), BorderLayout.CENTER);

frame.pack();
frame.setVisible(true);

2. FlowLayout

描述:按照添加组件的顺序,从左往右依次排列组件,如果一行排不下就自动换行。

使用场景:适合用于流式布局,将组件一行一行地排列。

代码示例

JFrame frame = new JFrame("FlowLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());

frame.add(new JButton("Button 1"));
frame.add(new JButton("Button 2"));
frame.add(new JButton("Button 3"));

frame.pack();
frame.setVisible(true);
\```

### 3. GridLayout

**描述**:将容器分成指定的行数和列数的网格,组件按照顺序填充到每个单元格中。

**使用场景**:适合用于按网格布局排列组件。

**代码示例**:

```java
JFrame frame = new JFrame("GridLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridLayout(3, 2));

frame.add(new JButton("Button 1"));
frame.add(new JButton("Button 2"));
frame.add(new JButton("Button 3"));
frame.add(new JButton("Button 4"));
frame.add(new JButton("Button 5"));
frame.add(new JButton("Button 6"));

frame.pack();
frame.setVisible(true);

4. CardLayout

描述:将容器中的组件按照卡片的方式进行切换,每次只显示其中一个组件。

使用场景:适合用于在多个组件之间进行切换。

代码示例

JFrame frame = new JFrame("CardLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

CardLayout cardLayout = new CardLayout();
frame.setLayout(cardLayout);

frame.add(new JLabel("Card 1"), "card1");
frame.add(new JLabel("Card 2"), "card2");

frame.pack();
frame.setVisible(true);

// 切换到下一张卡片
cardLayout.next(frame.getContentPane());

5. BoxLayout

描述:将组件按照水平或垂直方向进行排列,可以指定每个组件的最小和最大尺寸。

使用场景:适合按照水平或垂直方向排列组件,并指定最小和最大尺寸。

代码示例

JFrame frame = new JFrame("BoxLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));

frame.add(new JButton("Button 1"));
frame.add(new JButton("Button 2"));
frame.add(new JButton("Button 3"));

frame.pack();
frame.setVisible(true);

6. GridBagLayout

描述:一种灵活的布局管理器,可以为组件指定行、列、宽度、高度、填充方式等属性。

使用场景:适合用于实现更复杂的布局需求。

代码示例

JFrame frame = new JFrame("GridBagLayout Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new GridBagLayout());

GridBagConstraints constraints = new GridBagConstraints();

// 添加 Button 1
constraints.gridx = 0;
constraints.gridy = 0;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
frame.add(new JButton("Button 1"), constraints);

// 添加 Button 2
constraints.gridx = 1;
constraints.gridy = 0;
constraints.gridwidth = 1;
constraints.gridheight = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
frame.add(new JButton("Button 2"), constraints);

// 添加 Button 3
constraints.gridx = 0;
constraints.gridy = 1;
constraints.gridwidth = 2;
constraints.gridheight = 1;
constraints.fill = GridBagConstraints.HORIZONTAL;
frame.add(new JButton("Button 3"), constraints);

frame.pack();
frame.setVisible(true);

以上就是Java中常用的布局管理器。

二、常用事件处理响应

Java的Listener是用于事件处理的一种机制,主要用于接收和处理用户界面上的各种事件。下面介绍一些常用的Listener方法和接口:

三、上面接口对应的适配器(减少接口中方法的重写)

在Java中,适配器类是一种实现某个接口但并不完全实现该接口的类。它可以作为接口的中间层,使得我们在实现接口方法时,只需要重写自己需要的方法,而不需要全部重写。常见的适配器类包括:

适配器类的作用是让我们在实现接口的时候不必重写全部的方法,而只需要重写我们需要的方法。这样能够减少代码的冗余,提高代码的可读性和可维护性。

四、常用函数方法

以下是一些在Java图形界面编程中常用的函数方法:

1. setText()

setText()方法用于设置组件内的文字内容。可以应用到诸如JTextFieldJButtonJLabel等组件上。

示例:设置JTextField中的文本内容。

JTextField text = new JTextField();
text.setText("请输入");

此时,text文本框内将显示“请输入”。

2. getText()

getText()方法用于提取组件内的文字。通常用于获取用户在文本框中输入的内容。

示例:从JTextField中提取输入的文本。

String input = text.getText();

3. add()

add()方法用于向容器(如JPanel和JFrame)中添加组件。

示例:向JPanel中添加一个按钮。

JPanel panel = new JPanel();
JButton button = new JButton("点击我");
panel.add(button);

4. 创建并设置基本的图形界面

以下代码展示了创建一个基本的图形界面所需的必要步骤

// 创建一个JFrame窗口并设置标题
JFrame frame = new JFrame("图形界面示例");

// 设置窗口大小
frame.setSize(450, 350);

// 设置窗口关闭操作,关闭窗口时终止程序
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// 在此处添加组件和设置布局管理器...

// 设置窗口可见性,否则运行时看不到窗口
frame.setVisible(true);

总结 

到此这篇关于Java图形界面的文章就介绍到这了,更多相关Java图形界面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文