java Swing GUI 入門-圖片和控制元件視覺化
阿新 • • 發佈:2020-12-21
java Swing GUI 入門-圖片和控制元件視覺化
覺得有用的話,歡迎一起討論相互學習~
加入一張圖片
- 大部分和上一節: https://xuzhiwei.blog.csdn.net/article/details/111490607 的內容一致,新加入的內容有
- 一個Imagelabel 設定居中,命名為logoLabel,Custom Create 打勾.
注意要保持圖片的尺寸,要不然太大了把其他的內容都遮住了
private void createUIComponents() { logoLabel = new JLabel(); ImageIcon logoIcon = new ImageIcon(new ImageIcon("image/a.png").getImage().getScaledInstance(300, 250, Image.SCALE_SMOOTH)); logoLabel.setIcon(logoIcon); }
控制元件視覺化
- 通過設定Panel的setVisible屬性可以控制一個控制元件是否可見
panel1.setVisible(false);
panel2.setVisible(false);
panel3.setVisible(false);
panel4.setVisible(false);
panel5.setVisible(false);
Jframe 初始大小
- 在主函式main函式中可以設定視窗的初始大小
frame.setPreferredSize(new Dimension(800, 800));
程式演示
完整程式碼
import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class GolfTourneyManager { private JPanel mainPanel; private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JPanel panel5; private JTextField textField1; private JCheckBox professionalCheckBox; private JRadioButton sandpiperRadioButton; private JRadioButton mayfairRadioButton; private JRadioButton blackHawkRadioButton; private JRadioButton theRanchRadioButton; private JTextField feeField; private JButton REGISTERButton; private JSlider slider1; private JLabel handiLabel; private JLabel logoLabel; private JButton registerNowButton; private JPanel TitleBarPanel; public GolfTourneyManager() { professionalCheckBox.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { if (professionalCheckBox.isSelected()) { feeField.setText("$120"); } else { feeField.setText("$100"); } } }); slider1.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { int handicap = slider1.getValue(); handiLabel.setText("Your Handicap: " + handicap); } }); registerNowButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { panel1.setVisible(true); panel2.setVisible(true); panel3.setVisible(true); panel4.setVisible(true); panel5.setVisible(true); } }); panel1.setVisible(false); panel2.setVisible(false); panel3.setVisible(false); panel4.setVisible(false); panel5.setVisible(false); }//end constructor public static void main(String[] args) { JFrame frame = new JFrame("Golf Tourney Manager"); frame.setContentPane(new GolfTourneyManager().mainPanel); frame.setPreferredSize(new Dimension(800, 800)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } private void createUIComponents() { logoLabel = new JLabel(); ImageIcon logoIcon = new ImageIcon(new ImageIcon("image/a.png").getImage().getScaledInstance(300, 250, Image.SCALE_SMOOTH)); logoLabel.setIcon(logoIcon); } }//end class