JavaでJTableHeaderの各列にツールチップを設定するにはどうすればよいですか?
JTableHeader JComponentのサブクラスです クラス、JTableオブジェクトを作成すると、コンストラクターは新しいJTableHeaderオブジェクトを作成して、テーブルコンポーネントのヘッダーを管理します 。 JTableはsetTableHeader()を提供します テーブルヘッダーコンポーネントのJTableHeaderオブジェクトとgetTableHeader()を確立するメソッド テーブルヘッダーコンポーネントのJTableHeaderオブジェクトへの参照を返すメソッド。 getToolTipText()をオーバーライドすることで、JTableHeaderの各列にツールチップテキストを設定できます。 JTableHeaderクラスのメソッド。
例
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.table.*; public class JTableHeaderToolTipTest extends JPanel { private DefaultTableModel dmodel; private JTable table; private JScrollPane jsp; public JTableHeaderToolTipTest() { setLayout(new BorderLayout()); String[] headers = {"Name", "Age", "Contact Number", "City"}; String[] toolTips = {"Name of Emp", "Age of Emp", "Contact Number of Emp","City of Emp"}; dmodel = new DefaultTableModel(headers, 4); table = new JTable(dmodel); ToolTipHeader tooltipHeader = new ToolTipHeader(table.getColumnModel()); tooltipHeader.setToolTipStrings(toolTips); table.setTableHeader(tooltipHeader); jsp = new JScrollPane(table); add(jsp, BorderLayout.CENTER); } public static void main(String[] args) { JFrame frame = new JFrame("JTableHeaderToolTip Test"); frame.getContentPane().add(new JTableHeaderToolTipTest(), BorderLayout.CENTER); frame.setSize(400, 250); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); } } // implementation code to set a tooltip text to each column of JTableHeader class ToolTipHeader extends JTableHeader { String[] toolTips; public ToolTipHeader(TableColumnModel model) { super(model); } public String getToolTipText(MouseEvent e) { int col = columnAtPoint(e.getPoint()); int modelCol = getTable().convertColumnIndexToModel(col); String retStr; try { retStr = toolTips[modelCol]; } catch (NullPointerException ex) { retStr = ""; } catch (ArrayIndexOutOfBoundsException ex) { retStr = ""; } if (retStr.length() < 1) { retStr = super.getToolTipText(e); } return retStr; } public void setToolTipStrings(String[] toolTips) { this.toolTips = toolTips; } }
出力
-
Javaで背景色をJPanelに設定するにはどうすればよいですか?
JPanel はコンテナであり、見えない コンポーネント Javaで。 FlowLayout JPanelのデフォルトのレイアウトです 。 ボタンなどのほとんどのコンポーネントを追加できます 、テキストフィールド、ラベル、テーブル、リスト、ツリー などをJPanelに 。 setBackground()を使用して、背景色をJPanelに設定できます。 メソッド。 例 import java.awt.* import javax.swing.*; public class JPanelBackgroundColorTest extends JFrame { p
-
JavaでJCheckBoxに境界線を設定するにはどうすればよいですか?
JCheckBox JToggleButtonを拡張できるコンポーネントです およびJCheckBoxのオブジェクト チェックできるオプションを表します またはチェックなし 。 2つ以上のオプションがある場合は、これらのオプションの任意の組み合わせを同時に選択できます。 setBorder()を使用して、JCheckBoxコンポーネントに境界線を設定できます。 メソッドを使用して、 setBorderPainted()であることを確認してください メソッドをtrueに設定します。 例 import java.awt.*; import java.awt.event.*; import j