选项卡
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
public class JTabbedPaneDome extends JFrame{
public JTabbedPaneDome() {
JTabbedPane jTabbedPane = new JTabbedPane();
JPanel jpanel = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
jpanel.add(new JLabel("第一个选项卡"));
jPanel2.add(new JLabel("第二个选项卡"));
jPanel2.setBackground(Color.BLUE);
jPanel3.add(new JLabel("第三选项卡"));
jPanel3.setBackground(Color.cyan);
jTabbedPane.add(" 壹 ", jpanel);
jTabbedPane.add(" 贰 ", jPanel2);
jTabbedPane.add(" 三 ", jPanel3);
this.add(jTabbedPane);
this.setTitle("选项卡布局");
this.setSize(800, 600);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new JTabbedPaneDome();
}
}
表格
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class WinTable extends JFrame implements ActionListener {
JTable table;
Object a[][];
Object name[] = { "姓名", "英语成绩", "数学成绩", "总成绩" };
JButton button = new JButton("计算每人总成绩");
public WinTable() {
a = new Object[8][4];
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 4; j++) {
if (j != 0) {
a[i][j] = "0";
} else {
a[i][j] = "姓名";
}
}
}
table = new JTable(a, name);
button.addActionListener(this);
Container con = getContentPane();
getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
con.add(new JLabel("修改或录入数据后,需回车确认"), BorderLayout.SOUTH);
con.add(button, BorderLayout.SOUTH);
setSize(400, 300);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
for (int i = 0; i < 8; i++) {
double sum = 0;
boolean boo = true;
for (int j = 1; i <= 2; j++) {
try {
sum = sum + Double.parseDouble(a[i][j].toString());
} catch (Exception ee) {
boo = false;
table.repaint();
}
if (boo == true) {
a[i][3] = "" + sum;
table.repaint();
}
}
}
}
public static void main(String[] args) {
new WinTable();
}
}
分层窗口
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
public class JLayeredPaneDemo extends JFrame{
public JLayeredPaneDemo() {
setTitle("测试窗口");
//大小
setSize(400, 300);
setLocationRelativeTo(null);
//关闭窗口退出程序
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);;
JLayeredPane jLayeredPane = new JLayeredPane();
JPanel jPanel = createPanel(Color.red, "L=100,P=1", 30, 30, 100, 100);
jLayeredPane.add(jPanel,new Integer(200));
JPanel jPanel2 = createPanel(Color.green, "L=200,p=0", 70, 70, 100, 100);
jLayeredPane.add(jPanel2,new Integer(200),0);
JPanel jPanel3 = createPanel(Color.cyan, "L=200,p=1", 110, 110, 100, 100);
jLayeredPane.add(jPanel3,new Integer(200), 1);
JPanel jPanel4 = createPanel(Color.yellow, "L=300", 150, 150, 100, 100);
jLayeredPane.add(jPanel4,new Integer(300));
setContentPane(jLayeredPane);
setVisible(true);
}
private static JPanel createPanel(Color bg,String text, int x,int y, int width,int height) {
//创建一个JPanel,使用1行1列的网格布局
JPanel jPanel = new JPanel(new GridLayout(1,1));
//设置容器的位置和宽高
jPanel.setBounds(x, y, width, height);
//设置Panel背景
jPanel.setOpaque(true);
jPanel.setBackground(bg);
//创建标签并设置相应属性
JLabel jLabel = new JLabel(text);
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
jLabel.setVerticalAlignment(SwingConstants.TOP);
//添加签到标题
jPanel.add(jLabel);
return jPanel;
}
public static void main(String[] args) {
new JLayeredPaneDemo();
}
}