Java gui练习 - JButton, JRadioButton,JMenuBar,JList,JComboBox,JScrollPane,JTable

本文介绍了一个使用Java Swing构建的GUI应用程序示例,演示了多种组件的使用方法,包括按钮、菜单、列表等,并展示了如何为这些组件添加监听事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.WindowConstants;

public class TestDemo {
public static void main(String[] args) {

final JFrame f = new JFrame(“E2 Citrix”);
f.setBounds(1378/4, 768/4, 500, 300);
f.setLayout(new FlowLayout());
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

JButton jb = new JButton(“MouseEntered -> Text”);
jb.setToolTipText(“button”);
jb.addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
System.out.println(“OK”);
}
});

final JButton jb1 = new JButton(“MouseEntered -> Change color”);
jb1.addMouseListener(new MouseAdapter() {
public void mouseExited(MouseEvent e) {
jb1.setForeground(Color.white);
jb1.setBackground(Color.black);
}
public void mouseEntered(MouseEvent e) {
jb1.setForeground(Color.blue);
jb1.setBackground(Color.cyan);
}
});

JButton jb2 = new JButton(“MouseClicked -> New Window”);
jb2.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e){
JFrame f1 = new JFrame(“Part action”);
f1.setBounds(1378/5, 768/5, 1378/2, 768/2);
f1.setVisible(true);
}
});

JButton jb3 = new JButton(“Action -> New Window”);
jb3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame f2 = new JFrame(“Attachment”);
f2.setBounds(1378/6, 768/6, 1378/2, 768/2);
f2.setVisible(true);
}
});

String[] label = {“Program:”,”EK”,”S”,”D”};
JComboBox jcb = new JComboBox(label);
jcb.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
System.out.println(e.getSource());
}
});

String[] list = {“China”,”USA”,”German”,”Austrilia”,”England”,”Singapore”,”Singapore”,”Singapore”,”Singapore”,”Singapore”,”Singapore”,”Singapore”};
JList jl = new JList(list);
jl.setBorder(BorderFactory.createLineBorder(Color.blue,3));
jl.setBorder(BorderFactory.createTitledBorder(“Country”)); jl.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
JScrollPane js = new JScrollPane();
js.setViewportView(jl);

JMenuBar jmb = new JMenuBar();
JMenu jm = new JMenu(“File”);
JMenuItem jmi1 = new JMenuItem(“Open”);
JMenuItem jmi2 = new JMenuItem(“Save”);
JMenuItem jmi3 = new JMenuItem(“Exit”);

ButtonGroup bg = new ButtonGroup();
JRadioButton jrb = new JRadioButton(“男”);
JRadioButton jrb1 = new JRadioButton(“女”);
bg.add(jrb);
bg.add(jrb1);

f.add(jb);
f.add(jb1);
f.add(jb2);
f.add(jb3);
f.add(jcb);
jm.add(jmi1);
jm.addSeparator();
jm.add(jmi2);
jm.addSeparator();
jm.add(jmi3);
jmb.add(jm);
f.setJMenuBar(jmb);
// f.add(jl);
f.add(jrb);
f.add(jrb1);

f.setVisible(true);
}
}

// 单击添加按钮,在JTable中增加行
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;

class TestDemo2{
public static void main(String[] args) {
JFrame jf = new JFrame(“E2”);
jf.setBounds(1378/4,768/4,1378/2,768/2);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setLayout(new FlowLayout());

String[] colname = {“PN”,”FNA”,”MASS”,”PATE TYPE”};
String[][] content = {{“a”,”a”,”a”,”a”,”a”},
{“a”,”a”,”a”,”a”,”a”},
{“a”,”a”,”a”,”a”,”a”}};
final DefaultTableModel tm = new DefaultTableModel(content,colname);
final JTable jt = new JTable(tm);
//直接将JTable放在Frame中表头一行不显示,放在JScrollPane中则自动显示
JScrollPane jsp = new JScrollPane(jt);

JButton jb = new JButton(“Add”);
jb.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {

int rownum = jt.getRowCount();
System.out.println(rownum);
String[] newrow = {“b”,”b”,”b”,”b”,”b”};

//TableModel的实现类DefaultTableModel才有addRow方法
tm.addRow(newrow);
}
});

jf.add(jsp);
jf.add(jb);
jf.setVisible(true);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值