Java窗口之选项卡、表格、分层窗口

客官°小女子只卖身不卖艺 2021-11-29 06:32 405阅读 0赞

选项卡

  1. import java.awt.Color;
  2. import javax.swing.JFrame;
  3. import javax.swing.JLabel;
  4. import javax.swing.JPanel;
  5. import javax.swing.JTabbedPane;
  6. public class JTabbedPaneDome extends JFrame{
  7. public JTabbedPaneDome() {
  8. JTabbedPane jTabbedPane = new JTabbedPane();
  9. JPanel jpanel = new JPanel();
  10. JPanel jPanel2 = new JPanel();
  11. JPanel jPanel3 = new JPanel();
  12. jpanel.add(new JLabel("第一个选项卡"));
  13. jPanel2.add(new JLabel("第二个选项卡"));
  14. jPanel2.setBackground(Color.BLUE);
  15. jPanel3.add(new JLabel("第三选项卡"));
  16. jPanel3.setBackground(Color.cyan);
  17. jTabbedPane.add(" 壹 ", jpanel);
  18. jTabbedPane.add(" 贰 ", jPanel2);
  19. jTabbedPane.add(" 三 ", jPanel3);
  20. this.add(jTabbedPane);
  21. this.setTitle("选项卡布局");
  22. this.setSize(800, 600);
  23. this.setLocationRelativeTo(null);
  24. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  25. this.setVisible(true);
  26. }
  27. public static void main(String[] args) {
  28. new JTabbedPaneDome();
  29. }
  30. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2tvbmdzYW5qaW4_size_16_color_FFFFFF_t_70

表格

  1. import java.awt.BorderLayout;
  2. import java.awt.Container;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import javax.swing.JButton;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.JScrollPane;
  9. import javax.swing.JTable;
  10. public class WinTable extends JFrame implements ActionListener {
  11. JTable table;
  12. Object a[][];
  13. Object name[] = { "姓名", "英语成绩", "数学成绩", "总成绩" };
  14. JButton button = new JButton("计算每人总成绩");
  15. public WinTable() {
  16. a = new Object[8][4];
  17. for (int i = 0; i < 8; i++) {
  18. for (int j = 0; j < 4; j++) {
  19. if (j != 0) {
  20. a[i][j] = "0";
  21. } else {
  22. a[i][j] = "姓名";
  23. }
  24. }
  25. }
  26. table = new JTable(a, name);
  27. button.addActionListener(this);
  28. Container con = getContentPane();
  29. getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);
  30. con.add(new JLabel("修改或录入数据后,需回车确认"), BorderLayout.SOUTH);
  31. con.add(button, BorderLayout.SOUTH);
  32. setSize(400, 300);
  33. setVisible(true);
  34. validate();
  35. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36. }
  37. @Override
  38. public void actionPerformed(ActionEvent e) {
  39. // TODO Auto-generated method stub
  40. for (int i = 0; i < 8; i++) {
  41. double sum = 0;
  42. boolean boo = true;
  43. for (int j = 1; i <= 2; j++) {
  44. try {
  45. sum = sum + Double.parseDouble(a[i][j].toString());
  46. } catch (Exception ee) {
  47. boo = false;
  48. table.repaint();
  49. }
  50. if (boo == true) {
  51. a[i][3] = "" + sum;
  52. table.repaint();
  53. }
  54. }
  55. }
  56. }
  57. public static void main(String[] args) {
  58. new WinTable();
  59. }
  60. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2tvbmdzYW5qaW4_size_16_color_FFFFFF_t_70 1

分层窗口

  1. import java.awt.Color;
  2. import java.awt.GridLayout;
  3. import javax.swing.JFrame;
  4. import javax.swing.JLabel;
  5. import javax.swing.JLayeredPane;
  6. import javax.swing.JPanel;
  7. import javax.swing.SwingConstants;
  8. import javax.swing.WindowConstants;
  9. public class JLayeredPaneDemo extends JFrame{
  10. public JLayeredPaneDemo() {
  11. setTitle("测试窗口");
  12. //大小
  13. setSize(400, 300);
  14. setLocationRelativeTo(null);
  15. //关闭窗口退出程序
  16. setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);;
  17. JLayeredPane jLayeredPane = new JLayeredPane();
  18. JPanel jPanel = createPanel(Color.red, "L=100,P=1", 30, 30, 100, 100);
  19. jLayeredPane.add(jPanel,new Integer(200));
  20. JPanel jPanel2 = createPanel(Color.green, "L=200,p=0", 70, 70, 100, 100);
  21. jLayeredPane.add(jPanel2,new Integer(200),0);
  22. JPanel jPanel3 = createPanel(Color.cyan, "L=200,p=1", 110, 110, 100, 100);
  23. jLayeredPane.add(jPanel3,new Integer(200), 1);
  24. JPanel jPanel4 = createPanel(Color.yellow, "L=300", 150, 150, 100, 100);
  25. jLayeredPane.add(jPanel4,new Integer(300));
  26. setContentPane(jLayeredPane);
  27. setVisible(true);
  28. }
  29. private static JPanel createPanel(Color bg,String text, int x,int y, int width,int height) {
  30. //创建一个JPanel,使用1行1列的网格布局
  31. JPanel jPanel = new JPanel(new GridLayout(1,1));
  32. //设置容器的位置和宽高
  33. jPanel.setBounds(x, y, width, height);
  34. //设置Panel背景
  35. jPanel.setOpaque(true);
  36. jPanel.setBackground(bg);
  37. //创建标签并设置相应属性
  38. JLabel jLabel = new JLabel(text);
  39. jLabel.setHorizontalAlignment(SwingConstants.CENTER);
  40. jLabel.setVerticalAlignment(SwingConstants.TOP);
  41. //添加签到标题
  42. jPanel.add(jLabel);
  43. return jPanel;
  44. }
  45. public static void main(String[] args) {
  46. new JLayeredPaneDemo();
  47. }
  48. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2tvbmdzYW5qaW4_size_16_color_FFFFFF_t_70 2

发表评论

表情:
评论列表 (有 0 条评论,405人围观)

还没有评论,来说两句吧...

相关阅读