我把一些JPanel放到另一个JPanel中,它的布局是Box Layout和Y-Axis.在我放置所有面板后,我需要从JPanel容器面板中获取每个添加的JPanel的Y位置.但是,当我试图得到它时,每个JPanel的Y位置总是为零.请告诉我如何从JPanel容器JPanel获取每个Jpanel的Y位置.
这就是我所做的,
JPanel panelHolder = new JPanel(new BoxLayout(this, BoxLayout.Y_AXIS));
for(int i = 0; i< 10; i++){
JPanel p = new JPanel();
panelHolder.add(p);
}
int componentCount = panelHolder.getComponentCount();
for (int j = 0; i < componentCount ; j++) {
Component c = pnlRowHolder.getComponent(i);
JPanel p = (JPanel)c;
System.out.println(p.getY());//I get zero for all
}
Run Code Online (Sandbox Code Playgroud) 虽然我更改了 Tomcat tomcat-users.xml 文件中的密码,但我无法访问 tomcat 管理器。请告诉我可能是什么错误?
我需要在没有任何边框的JTable中打印数据,我试图通过为JTable使用空边框来实现这一点,但它仍然在表格周围打印边框.
dataTable = new javax.swing.JTable();
dataTable.setBorder(BorderFactory.createEmptyBorder());
dataTable.setShowHorizontalLines(false); dataTable.setShowVerticalLines(false);
dataTable.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "Item ID", "Company Name", "Qty.", "Price", "Total" } ));
jScrollPane1.setViewportView(dataTable);
jScrollPane1.setViewportBorder(BorderFactory.createEmptyBorder());
jScrollPane1.setBorder(BorderFactory.createEmptyBorder());
Run Code Online (Sandbox Code Playgroud) 我创建了一个简单的JAVA Swing程序,它有一个JTextArea,三个JTextField和一个JButton.此应用程序的作用是当用户单击按钮时,它使用文本行更新JTextArea,插入到JTextArea中的文本行在for循环中准备,重复次数在JTextField中给出.
我的问题是,当我单击启动JButton应用程序的所有组件都冻结时,我甚至无法关闭窗口,直到for循环完成它的工作.如何将此JTextField更新工作与表单中的其他任务分开?
我正在尝试使用tabledatamodel生成一个jasper报告,如
JRDataSource dataSource = new JRTableModelDataSource(model);
JasperPrint jp = DynamicJasperHelper.generateJasperPrint(dr, new ClassicLayoutManager(), dataSource);
JasperViewer.viewReport(jp);
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我得到以下错误,如果有人可以帮助我提出这个问题.
线程"main"中的异常java.lang.NoSuchMethodError:ar.com.fdvs.dj.domain.DynamicJasperDesign.setPrintOrder(B)V at ar.com.fdvs.dj.core.DJJRDesignHelper.getNewDesign(DJJRDesignHelper.java:69)在ar.com.fdvs.dj.cs.Dj上,ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperReport(DynamicJasperHelper.java:535)的ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperDesign(DynamicJasperHelper.java:207) .core.DynamicJasperHelper.generateJasperReport(DynamicJasperHelper.java:518)位于ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperPrint(DynamicJasperHelper.java:283)ar.com.fdvs.dj.core.DynamicJasperHelper.generateJasperPrint(DynamicJasperHelper)的.java:236)
我编写了一个默认表格,如下所示:
public class CustTableRenderer extends DefaultTableCellRenderer{
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
try {
Object cellObj = table.getModel().getValueAt(row, 7);
double cellValue = (Double) cellObj;
if (cellValue < 0) {
comp.setBackground(new Color(255, 48, 48));
} else if (cellValue == 0) {
comp.setBackground(new Color(173, 255, 47));
} else {
comp.setBackground(Color.white);
}
if (isSelected) {
comp.setBackground(new Color(71, 60, 139));
TableModel model = table.getModel();
} …Run Code Online (Sandbox Code Playgroud) 虽然Stack Overflow中有很多关于这个问题的问题但是我无法正确解决这个问题,任何人都可以帮我解决这个问题,让我们说有两个存储过程,
CREATE PROCEDURE `procOne`(stName varchar(7),fullItemCode varchar(12), fullLedNo varchar(12))
BEGIN
set @x = concat('
SELECT ID, Uprice FROM ',stName,'
where Uprice > 0 and FulItmCode="',fullItemCode,'" and FullLedgerNo = "',fullLedNo,'" order by Dat desc limit 1;
');
PREPARE stmt FROM @x;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
Run Code Online (Sandbox Code Playgroud)
和
CREATE PROCEDURE `prcTwo`()
BEGIN
CREATE TEMPORARY TABLE tmpStore (
ID int(10),
Uprice decimal(18,2)
)
insert into tmpStore exec procOne(@param1, @param2)
select * from tempStore;
DROP TABLE tmpStore;
END
Run Code Online (Sandbox Code Playgroud)
我试过这个,但在尝试保存时遇到以下错误 prcTwo
ERROR 1064: You …Run Code Online (Sandbox Code Playgroud) 我有一个java swing数据库应用程序需要在Windows和Linux上运行,我的数据库连接细节存储在XML文件中,我加载它们,
这个应用程序可以在Linux上正确加载这个属性,但它不能在Windows上工作,请告诉我如何在多个平台上正确加载文件.
这是代码,
PropertyHandler propertyWriter = new PropertyHandler();
List keys = new ArrayList();
keys.add("ip");
keys.add("database");
Map localProps = propertyWriter.read(keys, "conf" + File.separatorChar + "properties.xml", true);//if false load from the local properties
//get properties from the xml in the internal package
List seKeys = new ArrayList();
seKeys.add("driver");
seKeys.add("username");
seKeys.add("password");
Map seProps = propertyWriter.read(seKeys, "conf" + File.separatorChar + "properties.xml", true);
String dsn = "jdbc:mysql://" + (String) localProps.get("ip") + ":3306/" + (String) localProps.get("database");
jDBCConnectionPool = new JDBCConnectionPool((String) seProps.get("driver"), dsn, (String) seProps.get("username"), (String) …Run Code Online (Sandbox Code Playgroud) 当我尝试在Maven中编译Spring项目时,我不断收到以下错误.这个错误的原因是什么?
这是我的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springmvc.e1</groupId>
<artifactId>SpringMVCe1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>SpringMVCe1</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.0.5.RELEASE</spring.version>
</properties>
<dependencies>
<!-- Spring 3 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
this is the error I get
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
../Controller.java:[7,1] error: annotations are not supported in -source 1.3
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: Compilation failure
/home/harsha/workspace/web/SpringMVCe1/src/main/java/com/springmvc/e1/controller/Controller.java:[7,1] error: annotations …Run Code Online (Sandbox Code Playgroud) 我有一个java应用程序,在我的办公室网络中使用了很多计算机.这是一个java swing应用程序,当大多数时候有更新时我必须更新每台计算机.目前有一种机制可以自动更新这些应用程序,但似乎它无法正常工作,也就是说我在数据库中有一个简单的表,它保存已发布的版本号,当应用程序启动它时,它会根据数据库检查其版本.如果它不符合,则从我们在网络中安装的FTP服务器下载整个应用程序.
最近想到创建一个服务器来完成这个任务.但是,我不知道这是否是一个好习惯.
我的想法是,有一台服务器可以获取FTP服务器中每个文件的md5哈希值,并将该哈希列表和文件列表发送给其客户端.当客户端(我的swing应用程序)获得此列表时,它会将这些哈希值与其文件进行比较,如果存在不匹配,则客户端可以从FTP服务器下载该文件.
请告诉我这是更新java应用程序的好方法吗?
java ×8
swing ×5
jtable ×2
auto-update ×1
concurrency ×1
filepath ×1
installer ×1
intranet ×1
jpanel ×1
maven ×1
mysql ×1
path ×1
printing ×1
swingworker ×1
tomcat ×1