Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะกำหนดรูปลักษณ์ที่แตกต่างให้กับองค์ประกอบการแกว่งใน Java ได้อย่างไร?


Java Swing ช่วยให้เราปรับแต่ง GUI โดยเปลี่ยน รูปลักษณ์ (L&F) . รูปลักษณ์กำหนดลักษณะทั่วไปของส่วนประกอบและความรู้สึกกำหนดพฤติกรรม L&F เป็นคลาสย่อยของ LookAndFeel ชั้นเรียนและ L&F แต่ละรายการจะถูกระบุโดยชื่อชั้นเรียนที่มีคุณสมบัติครบถ้วน . โดยค่าเริ่มต้น L&F จะถูกตั้งค่าเป็น Swing L&F ( Metal L&F)

ในการตั้งค่า L&F โดยทางโปรแกรม เราสามารถเรียกเมธอด setLookAndFeel () ของ UIManager ระดับ. ต้องเรียกใช้ setLookAndFeel ก่อนสร้างอินสแตนซ์คลาส Java Swing ใดๆ มิฉะนั้น ระบบจะโหลด Swing L&F เริ่มต้น

ไวยากรณ์

public static void setLookAndFeel(LookAndFeel newLookAndFeel) throws UnsupportedLookAndFeelException

ตัวอย่าง

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LookAndFeelTest extends JFrame implements ActionListener {
   private JRadioButton windows, metal, motif, ;
   private ButtonGroup bg;
   public LookAndFeelTest() {
      setTitle("Look And Feels");
      windows = new JRadioButton("Windows");
      windows.addActionListener(this);
      metal = new JRadioButton("Metal");
      metal.addActionListener(this);
      motif = new JRadioButton("Motif");
      motif.addActionListener(this);
      bg = new ButtonGroup();
      bg.add(windows);
      bg.add(metal);
      bg.add(motif);
      setLayout(new FlowLayout());
      add(windows);
      add(metal);
      add(motif);
      setSize(400, 300);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   @Override
   public void actionPerformed(ActionEvent ae) {
      String LAF;
      if(ae.getSource() == windows)
         LAF = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
      else if(ae.getSource() == metal)
         LAF = "javax.swing.plaf.metal.MetalLookAndFeel";
      else
         LAF = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
      try {
         UIManager.setLookAndFeel(LAF);
         SwingUtilities.updateComponentTreeUI(this);
      } catch (Exception e) {
         System.out.println("Error setting the LAF..." + e);
      }
   }
   public static void main(String args[]) {
      new LookAndFeelTest();
   }
}

ผลลัพธ์

จะกำหนดรูปลักษณ์ที่แตกต่างให้กับองค์ประกอบการแกว่งใน Java ได้อย่างไร?

จะกำหนดรูปลักษณ์ที่แตกต่างให้กับองค์ประกอบการแกว่งใน Java ได้อย่างไร?

จะกำหนดรูปลักษณ์ที่แตกต่างให้กับองค์ประกอบการแกว่งใน Java ได้อย่างไร?