こんにちは、2 つのテキスト フィールドを配置した 1 つのスイング フレームを用意しました。jtextfield の片側 (つまり、右の境界線) に色を付ける方法はありますか? 提案してください。いろいろ調べたのですが、見つかりませんでした。よろしくお願いします。
質問する
3195 次
3 に答える
9
テキストフィールドに境界線を追加します。これは次の行に沿ったものです。
Border oldBorder = jTextField.getBorder();
Border redBorder = BorderFactory.createMatteBorder(0, 0, 0, 5, Color.RED);
Border newBorder = BorderFactory.createCompoundBorder(redBorder, oldBorder);
jTextField.setBorder(newBorder);
このアプローチでは、古い境界線が保持され、赤い(部分的な)境界線の内側にラップされます。
于 2012-08-13T13:38:43.423 に答える
9
以下の例では、5 ピクセルの左側の境界線を追加しました。
JTextField jtf = new JTextField();
jtf.setBorder(BorderFactory.createMatteBorder(0, 5, 0, 0, Color.BLACK));
これは右側の境界線です:
jtf.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 5, Color.BLACK));
これがあなたが求めているものであることを願っています
于 2012-08-13T13:33:36.140 に答える
4
CustomBorder
クラスから拡張し、Border
コンポーネント用に独自のカスタム境界線を作成することで、独自のクラスを作成できます。のインスタンスを次のように呼び出して設定setBorder()
します。Component
class MyBorder implements Border {
@Override
public void paintBorder(Component cmpnt, Graphics grphcs, int x, int y, int width, int height) {
//draw your border here
}
@Override
public Insets getBorderInsets(Component cmpnt) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public boolean isBorderOpaque() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
参照:
于 2012-08-13T13:32:04.630 に答える