Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでコンポーネントをスイングするために異なるルックアンドフィールを設定するにはどうすればよいですか?


Java Swingを使用すると、ルックアンドフィール(L&F)を変更してGUIをカスタマイズできます。 。外観はコンポーネントの一般的な外観を定義し、感触はコンポーネントの動作を定義します。 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でコンポーネントをスイングするために異なるルックアンドフィールを設定するにはどうすればよいですか?



  1. JavaのLayoutManagerとLayoutManagerのタイプとは何ですか?

    レイアウトマネージャーを使用すると、コンテナー内のコンポーネントのサイズと位置を決定することで、GUIフォームでのビジュアルコンポーネントの配置方法を制御できます。 LayoutManagerの種類 Javaには6つのレイアウトマネージャーがあります FlowLayout :ページ上の単語のように、コンポーネントをコンテナに配置します。 左から右、上から下のトップラインを埋めます 。コンポーネントは、追加された順序で配置されます。つまり、最初のコンポーネントが左上に表示されます。コンテナがすべてのコンポーネントを表示するのに十分な幅がない場合は、ラインにラップされます。コンポーネント

  2. Matplotlibでパッチのエッジカラーとフェイスカラーの異なる不透明度を設定するにはどうすればよいですか?

    エッジと顔の色の異なる不透明度を設定するには、カラータプルを使用でき、タプルの4番目のインデックスで色の不透明度の値を設定できます。 ステップ 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 subplots()を使用して、図とサブプロットのセットを作成します メソッド。 エッジと顔の色の不透明度に異なる値を設定します。 add_patch()を使用してrectangelパッチを追加します メソッド。 図を表示するには、 show()を使用します メソッド。 例 from matplotlib import pyplot as plt, pat