我将首先解释下面应该执行的程序。好吧,当你点击按钮展开文本时,文本会随着文本的不断增加的宽度和/或高度而增加。以这种方式,整个文本始终可见。
问题是,当缩放按钮不会增加显示区域时,只需点击几下即可隐藏。程序本身应该增加显示区域,以便所有内容始终可见。
屏幕会发布它的外观和样式。
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);
}
}
答案 0 :(得分:2)
问题是当缩放按钮没有增加显示时 区域,只需点击几下即可隐藏。该计划本身 应该增加显示区域,以便所有内容都可见 时间。
在frame.pack();
增加/减少后添加代码行Font
,然后JComponents
中的所有JFrame
将重新布局