2012-02-06 8 views
-1

誰でもこの問題を助けてください。私は私がJTableの使用せずに表にプロットしたいStringのこの配列を持っている:テーブル内に文字列を割り当てる

String inventory[][] = {{"Chairs","Tables"},{"Bed","Sofas"}} 

私はこのグリッドを生成するために、ネストされたforループやdrawLineを使用しますが、私は、テーブル内のStringを置くために管理することができませんでした。誰でも助けてくれますか?

これは私のプログラムではありませんが、これは私がフォームのインターネットを持っているクローズの例です。私のプログラムは少しsimillarです。

import java.awt.* ; 
import java.awt.event.* ; 
import javax.swing.* ; 
import javax.swing.border.TitledBorder; 
import javax.swing.border.EtchedBorder; 
import java.awt.*; 
import java.awt.event.*; 

public class testtable extends JFrame { 

    private static final int DRAWING_SIZE = 600; 
    private static final int SUBDIVISIONS = 2; 
    private static final int SUBDIVISION_SIZE = DRAWING_SIZE/SUBDIVISIONS; 

    public testtable() { 
     setSize(800, 800); 
     setLayout(new GridBagLayout()); 
     GridBagConstraints gbc = new GridBagConstraints(); 
     gbc.weightx = 1.0; 
     gbc.weighty = 1.0; 
     gbc.gridx = 0; 
     gbc.gridy = 0; 
     JLabel drawingBoard = new JLabel("Drawing Board"); 
     gbc.anchor = GridBagConstraints.SOUTH; 
     drawingBoard.setFont(new Font("Serif", Font.BOLD, 28)); 
     add(drawingBoard, gbc); 
     JPanel panel = new JPanel() { 
     @Override public void paintComponent(Graphics g) { 
      super.paintComponent(g); 
      Graphics2D g2 = (Graphics2D) g; 
      g2.setPaint(Color.GRAY); 
      for (int i = 1; i < SUBDIVISIONS; i++) { 
       int x = i * SUBDIVISION_SIZE; 
       g2.drawLine(x, 0, x, getSize().height); 
      } 
      for (int i = 1; i < SUBDIVISIONS; i++) { 
       int y = i * SUBDIVISION_SIZE; 
       g2.drawLine(0, y, getSize().width, y); 
      } 
     } 
     }; 
     panel.setPreferredSize(new Dimension(DRAWING_SIZE, DRAWING_SIZE)); 
     panel.setBackground(Color.WHITE); 
     panel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); 
     gbc.gridy++; 
     gbc.anchor = GridBagConstraints.CENTER; 
     add(panel, gbc); 
     JButton saveDrawing = new JButton("SAVE DRAWING"); 
     gbc.gridy++; 
     gbc.anchor = GridBagConstraints.NORTH; 
     add(saveDrawing, gbc); 
    } 
    public static void main(String[] args) { 
     (new testtable()).setVisible(true); 
    } 
} 
+1

あなたは今いるコードは何ですか?おそらく、あなたがそれを築くのを手伝ってくれるかもしれません。 –

+0

申し訳ありません私はその論文の私の部分を行うことができませんでしたが、ここで私はインターネットフォームを取得する閉鎖の例です。それはまったく同じではないが近い。 – user1110191

+0

まだ、ここでサンプルを提供していないので、私たちができることは推測です。だから私の推測では、Graphics2Dメソッドを使いこなしているということでしょうか?次に、単にdrawStringメソッドを使うことができます。 –

答えて

0

少しは不明、しかし、私はあなたには、いくつかの既存のUIクラスにpaintpaintComponentを上書きし、テーブルグリッドを描画するGraphics.drawLineメソッドを使用していると仮定します。

そうであれば、同様のネストループを作成してGraphics.drawStringを呼び出して文字列をレンダリングすることができます。ストリングは、左上隅ではなく、ベースラインによって固定されていると考えてください。

UPD。あなたの編集前に掲示されていますので、答えの最初の部分が今、奇妙に見えています。