Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在表中指定字符串_Java_Swing - Fatal编程技术网

Java 在表中指定字符串

Java 在表中指定字符串,java,swing,Java,Swing,有人能帮我解决这个问题吗。我有一个字符串数组,我想在不使用jtable的情况下将其绘制在表中: String inventory[][] = {{"Chairs","Tables"},{"Bed","Sofas"}} 我对循环使用嵌套的,并使用绘图线生成此网格,但我无法将字符串放入表中。有人能帮我吗 这不是我的程序,但这是我从互联网上得到的一个例子。我的程序与此有点类似 import java.awt.* ; import java.awt.event.* ; import javax.swi

有人能帮我解决这个问题吗。我有一个
字符串数组
,我想在不使用jtable的情况下将其绘制在表中:

String inventory[][] = {{"Chairs","Tables"},{"Bed","Sofas"}}
我对循环使用嵌套的
,并使用
绘图线
生成此网格,但我无法将
字符串
放入表中。有人能帮我吗

这不是我的程序,但这是我从互联网上得到的一个例子。我的程序与此有点类似

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);
   }
}
import java.awt.*;
导入java.awt.event.*;
导入javax.swing.*;
导入javax.swing.border.TitledBorder;
导入javax.swing.border.EtchedBorder;
导入java.awt.*;
导入java.awt.event.*;
公共类testtable扩展了JFrame{
专用静态最终整型图纸尺寸=600;
私有静态最终整数细分=2;
专用静态最终整型细分\尺寸=图纸\尺寸/细分;
公共测试表(){
设置大小(800800);
setLayout(新的GridBagLayout());
GridBagConstraints gbc=新的GridBagConstraints();
gbc.weightx=1.0;
gbc.weighty=1.0;
gbc.gridx=0;
gbc.gridy=0;
JLabel drawingBoard=新JLabel(“绘图板”);
gbc.anchor=gridbag.SOUTH;
drawingBoard.setFont(新字体(“衬线”,Font.BOLD,28));
添加(绘图板,gbc);
JPanel面板=新的JPanel(){
@替代公共零部件(图形g){
超级组件(g);
图形2d g2=(图形2d)g;
g2.setPaint(颜色为灰色);
对于(int i=1;i<细分;i++){
int x=i*细分大小;
g2.抽绳(x,0,x,getSize().高度);
}
对于(int i=1;i<细分;i++){
int y=i*细分大小;
g2.绘制线(0,y,getSize().宽度,y);
}
}
};
面板。设置首选尺寸(新尺寸(图纸尺寸、图纸尺寸));
面板.立根背景(颜色.白色);
panel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
gbc.gridy++;
gbc.anchor=GridBagConstraints.CENTER;
添加(面板,gbc);
JButton saveDrawing=新JButton(“保存图形”);
gbc.gridy++;
gbc.anchor=gridbag.NORTH;
添加(保存图形,gbc);
}
公共静态void main(字符串[]args){
(新testtable()).setVisible(true);
}
}

有点不清楚,但我想您已经覆盖了一些现有UI类上的
paint
paintComponent
,并使用了
Graphics.drawLine
方法来绘制表格网格

如果这是正确的,那么您可以创建类似的嵌套循环,并在内部调用
Graphics.drawString
来渲染字符串。考虑字符串是由基线锚定的,而不是由左上角锚定的。< /P>
UPD。在编辑之前发布,所以答案的第一部分现在看起来很奇怪。

您现在有什么代码?也许我们可以帮助你建立它。很抱歉,我不能这样做,因为这是我论文的一部分,但这里是我从互联网上得到的一个例子。虽然不完全一样,但很接近。不过,你们这里并没有提供样品,所以我们能做的最好的事情就是猜测。所以我猜你在搞乱Graphics2D方法?那么您可以简单地使用drawString方法,不是吗?请学习java命名约定并遵守它们