我无法理解以下文件构造函数.
public File(String parent, String child) and
public File(File parent, String child)
Run Code Online (Sandbox Code Playgroud)
文件的参数parent和child含义是什么?我什么时候可以使用这些?我做了几个与文件相关的程序,但我从未使用过这些程序.我经常使用
public File(String pathname)
Run Code Online (Sandbox Code Playgroud)
我已经阅读了java文件文档,但我无法弄清楚何时以及如何使用这些构造函数.有人可以解释并举例说明.
我无法将框架设置为对话框的所有者.通常当我扩展JDialog类来创建对话框时,我会super(frame)用来指定对话框的所有者,这样当你按下它们时它们都不会脱节alt+tab.但是当我使用newlike 创建对话框时,我JDialog dialog = new JDialog()无法将框架指定为对话框的所有者.
以下示例演示了以上两种方法.Top Click按钮打开一个没有扩展JDialog的对话框.Bottom Click按钮打开一个扩展JDialog的对话框.
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class DialogEx {
public static void main(String[] args) {
Runnable r = new Runnable() {
public void run() {
new DialogEx().createUI();
}
};
EventQueue.invokeLater(r);
}
private void createUI() {
final JFrame frame = new JFrame();
frame.setLayout(new …Run Code Online (Sandbox Code Playgroud) 昨天我参加了面试.他给了我很少的编程问题要解决.当我解决它们时,采访者说它可以在更好的时间复杂度下完成.我非常沮丧,以至于无法以最佳时间复杂度完成该计划.最后,我无法完成面试过程.但我想知道的是我们如何才能在最佳时间内解决任何问题?我应该采取什么方法来达到这个状态?我知道完美的答案就是练习.但我仍然想知道如何以及以何种方式执行程序,以便在更短的时间内运行并使用最佳内存.我要读什么书?我有什么问题需要练习?
PS:我知道这不是技术问题.但请让我知道我该怎么做.
我正在使用基于摇摆的应用程序JTable.我用DefaultCellEditor了一个需要组合框选择的列.但是DefaultCellEditor有许多我不需要的方法.所以我编写了一个自定义CellEditor,扩展AbstractCellEditor了我只实现了所需方法的地方.我的问题是
(一般情况下)如果我们有一个类,如果我们不需要该类的所有方法就可以使用它,或者编写一个自定义类,我们只实现我们需要的那些方法是否合适?和
通过使用自定义类,应用程序的性能(内存方面)将得到改进,还是与具有所有方法的类保持一致?
任何帮助将不胜感激.
我有一个可能是ASCII或UTF-8格式的文件.我可以通过Notepad ++知道它是哪种格式.但有人可以给我一个工具,它可以通过命令提示符显示文件的格式.
示例: 打开命令提示符,
C:><Some Command> FileName
Run Code Online (Sandbox Code Playgroud)
这应该给我像ASCII或UTF-8的文件格式.
我在JTable上有12个12列过滤器.每个过滤器都是JTextField类型的TextField.每次用户在文本框过滤器中输入数据时,都会进行搜索.
示例: 假设我说它上面有3列和3个文本框作为过滤器.现在,任何在我的表过滤必须发生的任何文本框中键入的内容都会发生.它发生得很好.
???????????????????????????????????????????
? [TextField] ? [TextField] ? [TextField] ?
???????????????????????????????????????????
? ? ? ?
???????????????????????????????????????????
... ... ...
???????????????????????????????????????????
? ? ? ?
???????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
每个文本字段的文本字段侦听器如下所示,
textField.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent e) { method(); }
public void removeUpdate(DocumentEvent e) { method(); }
public void insertUpdate(DocumentEvent e) { method(); }
};
Run Code Online (Sandbox Code Playgroud)
我的问题是,我正在为所有12个文本字段重复此代码,我并不高兴.这是我们唯一的方式吗?或者有人可以建议我一个更好的方法?
我有一个JTable使用AbstractTableModel在那里我有一个JCheckBox在选择行的第一列.现在,我需要从表中选择要检查的选定行.现在,我顺序遍历从第一行到最后一行并获取所有选择的行,如下所示,
List<Integer> selectedRows = new ArrayList<Integer>();
for(int i = 0; i < table.getRowCount(); i++) {
if((Boolean) table.getValuAt(i, 0)) {
selectedRows.add(i);
}
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是,当需要获取所选行时,我需要遍历所有行.现在我有10到20行.但是将来我会得到5000行左右.我的问题是,如果有5000行,如果用户只选择5000nd(最后一条记录)行,那么我需要遍历所有5000行以获得所选行.我认为这不是一个好方法.
我想要实现的一种方法是,向JCheckBox列添加一个监听器,这样当有任何更改时,(SELECTED/DESELECTED)我需要更新监听器类中所选行的数组.在这个监听器类中,当用户选择JCheckBox我需要调用时table.getSelectedRow(..),如果JCheckBox选择了那个我需要存储.
还有更好的方法吗?
我正在尝试创建一个表格和颜色特定的单元格,黄色,红色或白色,具体取决于其他列的内容.为此,我循环填充值的行,然后检查内容.对于当前显示在屏幕上的每一行都可以正常工作,但是当程序到达未显示的行时,或者如果用户尝试滚动每个单元格,则将其背景颜色更改为白色.我在网上搜索了解决方案,唯一合理的想法是在每次循环后重置cellRenderer,这不起作用,因为它也会重置每个单元格.
我希望有人知道这方面的解决方案,或者可以让我知道我在哪里搞砸了什么.
我正在使用这个循环
for(int e = 0; e < modules.size(); e++)
{
gui.clearOutputStream();
gui.getOutputStream().setText("Load Modul " + modules.get(e) + "\r\n");
version = getVersion(modules.get(e));
//Update current Row
updateRow(gui.getReleaseTabelle(), e);
}
Run Code Online (Sandbox Code Playgroud)
它调用这种方法
public void updateRow(JTable target, int row){
//...
//insert Values here
//...
CustomRenderer cr = new CustomRenderer();
cr.tab = target;
if(!target.getValueAt(row, 2).equals(target.getValueAt(row, 3)))
{
cr.Val1 = target.getValueAt(row, 1).toString();
target.setValueAt("X", row, 1);
}
else if(!target.getValueAt(row, 7).equals(""))
{
cr.Val1 = target.getValueAt(row, 1).toString();
target.setValueAt("Y", row, 1);
}
else
{
}
target.getColumnModel().getColumn(1).setCellRenderer(cr);
}
Run Code Online (Sandbox Code Playgroud)
这是我的CustomRenderer
class …Run Code Online (Sandbox Code Playgroud) 我是Spring和Web技术的新手.
我有一个表,其中包含一个带超链接的列.当我单击行的超链接时,我需要在对话框中显示行数据以及其他详细信息.我的控制器方法返回一个ModelAndView包含我需要显示的数据和显示页面的方法.
问题:
如何显示对话框?和
如何将数据传递给对话框?
Table.jsp
<script type="text/javascript">
function showDialog(ref, date) {
$ajax({
type: "POST",
url: "/example/show.htm",
data: {
ref: ref,
date: date
}
success: function(data) {
},
error: function(data) {
}
});
}
</script>
Run Code Online (Sandbox Code Playgroud)
制图
@RequestMapping(value = "show.htm", method=RequestMethod.POST)
public ModelAndView show(@RequestParam("ref") String ref, @RequestParam("date") String date,
HttpServletRequest request, HttpServletResponse response) {
ModelAndView modelAndView = new ModelAndView();
try {
SampleDTO SampleDTO = new SampleDTO();
sampleDTO.setDate(sdf.parse(date));
sampleDTO.setRef(ref);
SampleDTO billDto = // server call modelAndView.addObject("showBill", sampleDto);
modelAndView.setViewName("Dialog");
}
return …Run Code Online (Sandbox Code Playgroud) 
我有一张像上面这样的桌子.最初除按钮列以外的所有单元格都不可编辑.我使用自定义创建了表TableModel.我isCellEditable的自定义TableModel看起来像这样:
public boolean isCellEditable(int rowIndex, int columnIndex) {
//System.out.println("isCellEditable: " + rowIndex + " " + columnIndex);
if(getColumnClass(columnIndex) == JButton.class)
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我单击每行的"编辑"按钮时,JDialog将弹出该行(通过JTable在此对话框中仅构建一行来构建一个.)我可以更新此JDialog表中的单元格值.然后在该行的相应单元格中更新它们.

只有当我的isCellEditable返回为true时,我才能在此处更新后成功更新主表的行.但这不应该发生.只有当我点击它然后我应该能够isCellEditable将行更改为可编辑和更新,然后使其不可编辑.
我看过以下帖子但无法实现.