- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 JTable 时遇到问题。需要你的帮助
这是我的代码
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import javax.swing.table.*;
import javax.swing.border.*;
import com.lowagie.text.Document;
import com.lowagie.text.PageSize;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.awt.Graphics2D;
import javax.swing.table.TableColumn;
class tt_show extends JFrame implements ItemListener,ActionListener
{
JLabel l1,l2;
Choice c1,c2,c3;
JButton b1;
Checkbox cb1,cb2;
CheckboxGroup cbg;
Container c=this.getContentPane();
Graphics g;
tt_show()
{
setLayout(null);
l1=new JLabel("Course");
l2=new JLabel("Semester");
b1=new JButton("OK");
cbg=new CheckboxGroup();
cb1 = new Checkbox("full",cbg,false);
cb2 = new Checkbox("specific day",cbg,false);
c1 = new Choice();
c2 = new Choice();
c3 = new Choice();
c3.add("Monday"); c3.add("Tuesday"); c3.add("Wednesday"); c3.add("Thursday"); c3.add("Friday");
c1.add("MCA");
c.add(l1); c.add(l2); c.add(b1); c.add(l1); c.add(cb1); c.add(cb2); c.add(c1); c.add(c2); //c.add(c3);
l1.setBounds(500,160,100,100);
c1.setBounds(700,200,100,100);
l2.setBounds(500,260,100,100);
c2.setBounds(700,300,100,100);
cb1.setBounds(500,350,200,100);
cb2.setBounds(700,350,200,100);
b1.setBounds(600,500,100,30);
b1.addActionListener(this);
c1.addItemListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent ie)
{
if(ie.getSource()==c1)
{
for(int i=0;i<5;i++)
{
c2.add(String.valueOf(i+1));
}
}
}
public void actionPerformed(ActionEvent ae)
{
String str1="",str2="",str3="",str4="";
str1=c1.getSelectedItem();
str2=c2.getSelectedItem();
str3=cbg.getSelectedCheckbox().getLabel();
str4="select * from ";
int count=0;
Vector<Vector> data = new Vector<Vector>();
Vector<String> row = new Vector<String>();
Vector<String> cols = new Vector<String>();
cols.add("Day / Lecture -->>"); cols.add("First"); cols.add("Second"); cols.add("Third"); cols.add("Fourth"); cols.add("Fifth");
cols.add("Sixth"); cols.add("Seventh"); cols.add("Eighth");
str4=str4+str1+str2;
try
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(str4);
while(rs.next())
{
count++;
switch(count)
{
case 1 : row.add("Monday");
//row=new Vector<String>();
break;
case 2 : row.add("Tuesday");
// row=new Vector<String>();
break;
case 3 : row.add("Wednesday");
//row=new Vector<String>();
break;
case 4 : row.add("Thursday");
// row=new Vector<String>();
break;
case 5 : row.add("Friday");
//row=new Vector<String>();
break;
}
for(int i=1;i<=8;i++)
{
row.add(rs.getString(i));
}
data.add(row);
row=new Vector<String>();
}
}
catch(Exception e)
{
//System.out.println(e.printStackTrace());
}
time_table ob1 =new time_table();
ob1.setTitle("TIME TABLE ->> "+str1+"-"+str2);
ob1.setExtendedState(JFrame.MAXIMIZED_BOTH);
ob1.show(data,cols,str1,str2);
ob1.setVisible(true);
}
public static void main(String args[]) throws Exception
{
tt_show obj = new tt_show();
obj.setExtendedState(JFrame.MAXIMIZED_BOTH);
obj.setTitle("TIME TABLE");
obj.setVisible(true);
}
}
class time_table extends JFrame implements ActionListener
{
String course,sem;
JTable tab;
time_table()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton b1 = new JButton("Save As PDF");
Container c=getContentPane();
c.add(b1);
b1.setBounds(700,700,200,30);
b1.addActionListener(this);
}
public void show(Vector<Vector> data1,Vector<String> cols1,String s1,String s2)
{
course=s1;
sem=s2+".pdf";
tab = new JTable(data1,cols1);
TableColumn column = null;
for(int i=1;i<=8;i++)
{
column = tab.getColumnModel().getColumn(i);
column.setPreferredWidth(5);
}
tab.setEnabled(false);
tab.setBorder(BorderFactory.createLineBorder(Color.green,3));
tab.setFont(new Font("Arial",Font.PLAIN,15));
tab.setRowHeight(30);
tab.setGridColor(Color.red);
JTableHeader head = tab.getTableHeader();
head.setFont(new Font("SansSerif", Font.ITALIC, 15));
head.setForeground(Color.magenta);
Container c = this.getContentPane();
c.setLayout(new BorderLayout());
c.add("North",head);
c.add("Center",tab);
DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( SwingConstants.CENTER );
tab.setDefaultRenderer(String.class, centerRenderer);
}
private void print() {
Document document = new Document(PageSize.A4.rotate());
try {
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(course+sem));
document.open();
PdfContentByte cb = writer.getDirectContent();
cb.saveState();
Graphics2D g2 = cb.createGraphicsShapes(1600, 500);
Shape oldClip = g2.getClip();
g2.clipRect(0, 0, 1600, 1000);
tab.print(g2);
g2.setClip(oldClip);
g2.dispose();
cb.restoreState();
} catch (Exception e) {
System.err.println(e.getMessage());
}
document.close();
}
public void actionPerformed(ActionEvent ae)
{
print();
}
}
最佳答案
i want to reduce size of every column (size should be same for all)
创建表格并设置模型后,您可以执行以下操作:
JTable table = new JTable(...);
TableColumnModel tcm = table.getColumnModel();
for (int i = 0; i < tcm.getColumnCount(); i++)
{
tcm.getColumn(i).setPreferredWidth(...);
}
另一个选择可能是使用 Table Column Adjuster 。此类将根据列中的数据设置列的大小。这样就保证了所有的数据都是可见的。
关于java - 如何减少列的宽度并将java中的JTable定位在所需的坐标处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33861190/
我有一个依赖于包 B 的包 A。当包 A 中的代码运行并访问包 B 中的类时,包 B 的状态将被解析 (4),而不是 Activity (32) 和包 B 的激活器也没跑好。我认为 bundle B
这个问题在这里已经有了答案: How to remove the space between inline/inline-block elements? (41 个回答) 关闭 7 年前。
我正在尝试使用 Java OpenAL 库。我在导入名为 libsoft_oal.so 的 native 库时遇到问题。 Java OpenAL 依赖于 OpenAL 软实现。我尝试根据他们在 git
我正在尝试启动我的应用程序。是一个 unicorn +工头+sinatra的应用。 这是我的 config.ru 文件: require "rubygems" require "sinatra" Bu
我有一个下拉列表,其中包含一些从数据库表中检索的值,我想要的是当单击按钮时它应该只获得选项标签的中间值,但只有那些类名为“get_this”的选项标签并离开那些选项,如果他们没有这个类 预期输出:值
我有一个index.php文件,需要一个通用的head.php文件,head.php文件中有几个Javascript文件,当这样尝试时,代码在源代码中看起来很好,但文件却不是实际上对文档做任何事情。
有人能帮帮我吗? 我已经像这样运行了 imsmod: $ insmod /data/mm/mmdev.ko epoll_rate=100 但是我得到一个错误: insmod: init_module
是否有键盘快捷键或插件可以在 Notepad++ 中打开 PHP 所需或包含的文件?我知道,在 Dreamweaver 中,执行此操作的命令是 Ctrl+D,但我似乎无法在 Notepad++ 中找到
我已经用 js 设置了一个显示/隐藏 div,但我很难弄清楚如何一次显示一个 div。目前发生的情况是,除非我再次单击原始链接来关闭该 div,否则每个 div 都会显示。 http://www.li
当我尝试将未分配的辅助分片分配给节点时出现错误。 { "error": { "root_cause": [ { "type": "remote_transpor
我正在构建一个 C++ 应用程序,使用 Netbeans 6.9 作为我的 IDE。我有一个 C++ 库,它是一个纯 C 库的包装器。 我已将文件正确添加到项目中(使用添加库文件选项)。这是 g++
我是一名优秀的程序员,十分优秀!