Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 구성 요소를 스윙하기 위해 다른 모양과 느낌을 설정하는 방법은 무엇입니까?


Java Swing을 사용하면 모양과 느낌(L&F)을 변경하여 GUI를 사용자 정의할 수 있습니다. . 모양은 구성 요소의 일반적인 모양을 정의하고 느낌은 구성 요소의 동작을 정의합니다. L&F는 LookAndFeel 의 하위 클래스입니다. 클래스 및 각 L&F는 정규화된 클래스 이름으로 식별됩니다. . 기본적으로 L&F는 Swing L&F(메탈 L&F)로 설정되어 있습니다.

L&F를 프로그래밍 방식으로 설정하려면 setLookAndFeel 메서드를 호출할 수 있습니다. () UIManager 수업. Java Swing 클래스를 인스턴스화하기 전에 setLookAndFeel에 대한 호출을 수행해야 합니다. 그렇지 않으면 기본 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에서 구성 요소를 스윙하기 위해 다른 모양과 느낌을 설정하는 방법은 무엇입니까?