2016-12-12 9 views
2

私はJTableをJavaで使用していましたが、整数値に応じてフォントを太字に変更する方法を知りたいと思います。私は現在このテーブルを持っており、コーチの人数に応じて行のフォントを変更したいと思っています。私はまだスイングするのが新しく、これをどうやって行うのか分からない。にJtableの行フォントを太字に変更する

What i have so far in my program

リンク:私はすでに持っているものの下に持っているイメージを、以下の場合には、これは私が必要となるものの一例である

if (num_people >17 && num_people<26){ 
    //change row font to bold 
} 

:私のような何かをするソリューションを必要とします私の現在のコード: https://gist.github.com/anonymous/015022f7ad55ff9664e2edaea6a58d5a

+1

同じ答えが毎日、2回以上与えられます。レンダラーを使用します。 * "コーチの人数に応じて行のフォントを変更したい。私はまだスイングには新しく、これをどうやって行うのか分からない" *なぜあなたは[How to Use Tables](http://docs.oracle.com/javase/tutorial/uiswing/components/table.html)のチュートリアルを参照してください。 –

+0

@AndrewThompsonテーブルのチュートリアルを使用する鍬は、テキストを太字にする方法を示していません。私はそれを見つけることを試みたが、私はできなかった。あなたは私のためにそれを指摘することができます –

+0

ああ、大声で叫んで..それはあなたが別のもののためにAPIの異なる部分を使用できるようになっているので、すべての可能なことを行うのすべての変形を示していない!あなたはプログラミングのために切り取られていますか? –

答えて

4
public class CellRenderer extends DefaultTableCellRenderer { 

private static final long serialVersionUID = 1L; 

@Override 
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, 
     int column) { 
    super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 

    if (value>17 value<26) { 
     this.setValue(table.getValueAt(row, column)); 
     this.setFont(this.getFont().deriveFont(Font.BOLD)); 
    } 
    return this; 
} 
} 

これは、セルレンダラーに太字フォントと同じようにどのように見えるかです。私はそれをテストしなかった。あなたはJTableを初期化した後にtable.getColumnModel().getColumn(x).setCellRenderer(new CellRenderer());を呼び出し、そのフォントを適用するすべての列に対して呼び出すことができます。

+0

どこに貼り付けますか? –

+1

@SakshamGoyal新しいクラスとそれを 'table.getColumnModel()。getColumn(x).setCellRenderer(new CellRenderer());'と一緒に使用してください。ここで、xは変更したい列です。その列をすべて反復する場合は、 – XtremeBaumer

+0

スイングには新しくなっていることを覚えておいてください。私のコードを上に置くと、そのコードを使用してください。私は前に振りを使ったことがありません。もしあなたがあなたの答えを編集できるなら、私はこれを行う方法を知っています。 –

3

Table Row Renderingを参照してください。 prepareRenderer(....)メソッドをオーバーライドすることによって、テーブル内の特定の行にレンダリングを適用する方法を示します。これは、各列に対して異なるレンダラーを使用する場合に特に便利です。

実際には、テーブルの特定の列に異なるレンダラーを使用する必要があります。いくつかのセルは文字列をレンダリングする必要があり、またいくつかの値は通常値を右揃えとして表示する数値を表示する必要があります。

Table Format Renderersをチェックすると、特別なデータの書式設定でカスタムレンダリングを作成するのが簡単になります。

+0

あなたは私のコードを見て、私を見せてくれますか?私はスイングするのが初めてなので、どうやってそれをするのか分からない。 –

+1

@SakshamGoyal、私はあなたに作業コードを示した。リンクをたどって、実際のコード例をダウンロードしてください。彼らがどのように動作しているかを理解し、正確な要件に合わせてロジックをカスタマイズするには、しばらく時間をかけてください。 「私は新しくスイングする」 - あなたは試して学ぶ。あなたが望むものとまったく同じコード例を見つけることはめったにありません。したがって、概念を理解してから、人々が例を示すためにコードをカスタマイズする必要があります。 – camickr

関連する問題