62,623
社区成员
发帖
与我相关
我的任务
分享import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
public class Test {
public static void main(String[] args) {
final JFrame frame = new JFrame();
final JPanel panel = new JPanel();
panel.setBackground(Color.GREEN);
panel.setPreferredSize(new Dimension(800,200));
frame.getContentPane().add(new JScrollPane(panel));
JButton zoomOutButton = new JButton("缩小");
JButton zoomInButton = new JButton("放大");
JPanel buttonsPanel = new JPanel();
buttonsPanel.add(zoomOutButton);
buttonsPanel.add(zoomInButton);
frame.getContentPane().add(buttonsPanel, BorderLayout.NORTH);
zoomOutButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int width = panel.getWidth() - 100;
int height = panel.getHeight();
panel.setPreferredSize(new Dimension(width, height));
panel.revalidate(); // 重点是这一句,使得布局生效
}
});
zoomInButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int width = panel.getWidth() + 100;
int height = panel.getHeight();
panel.setPreferredSize(new Dimension(width, height));
panel.revalidate();
}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 600);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}