java - 如何增加表格/面板大小 JAVA

标签 java swing jbutton

我将从解释下面的程序应该做什么开始。好吧,当您单击按钮时,文本会展开,同时文本的宽度和/或高度也会稳步增加。以这种方式,整个文本始终可见。

问题是当缩放按钮不增加显示区域时,只需点击几下就开始隐藏。程序本身应该增加显示区域,以便所有内容始终可见。

屏幕发布它的外观和应该如何。

Picture of requirements.

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;

public class Main {
  public static void main(String ... args) {

        JFrame frame = new JFrame("JFrame");
        final GridLayout gd = new GridLayout(0,1);
        frame.setLayout(gd);

        final JPanel panel1 = new JPanel();
        panel1.setLayout(new FlowLayout());
        JPanel panel2 = new JPanel();
        panel2.setLayout(new FlowLayout());

        final JButton btn1 = new JButton("Button 1");
        final JButton btn2 = new JButton("Button 2");

        btn1.addActionListener( new ActionListener() {
            int fontSize = 14;
            public void actionPerformed(ActionEvent e){
                Font font = new Font("Arial", Font.PLAIN, fontSize);
                btn1.setFont(font);
                fontSize++;     
            }
        });

        btn2.addActionListener( new ActionListener() {
            int fontSize = 14;
            public void actionPerformed(ActionEvent e){
                Font font = new Font("Arial", Font.PLAIN, fontSize);
                btn2.setFont(font);
                fontSize++;
            }
        });


        panel1.add(btn1);
        panel2.add(btn2);
        frame.add(panel1);
        frame.add(panel2);


        //frame.setPreferredSize(new Dimension(200, 100));
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.pack();       
        frame.setLocationRelativeTo(null);
        frame.setVisible(true); 

  }
}

最佳答案

The problem is that when zoomed button does not increase the display area so that just a few clicks starts hiding. The program itself should increase the display area so that everything is visible all the time.

添加代码行 frame.pack();Font 之后增加/减少,然后全部JComponentsJFrame将重新布局

关于java - 如何增加表格/面板大小 JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16752664/

相关文章:

java - 正则表达式性能问题

java - 当我尝试从 GitHub 存储库构建和运行代码时出现 Gradle 同步问题

java - 如何使用docker-java API连接docker?

java - 在 JTable 中禁用用户编辑

java - 在 Action 事件期间在标签中设置文本

java - 如何从集合中删除一个项目?

java - Swing中使用row来过滤Jtable

java - 在Java中复制一些文本后如何获取系统剪贴板图像?

java - Swing JButton 的圆角 Swing 没有实际 JButton 的功能

java - JButton 和 jgraphx 不会同时出现