- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个程序,允许用户在特定位置创建一组文件夹。到目前为止我已经尝试了很多事情,但似乎没有任何效果。
为了更清楚一点,我让用户输入一个文件夹路径(使用JFileChooser
),它将在文本字段(JTextField
)中为它们设置目录)。我想知道如何才能做到这一点,以便当它在用户定义的路径中创建文件夹时,它也会相应地命名该文件夹。这是我到目前为止所拥有的一些“工作”示例代码:
public static void addComponentsToPane(Container pane)
{
if (RIGHT_TO_LEFT)
{
pane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
}
//Components
pane.setLayout(new GridBagLayout());
JLabel label;
GridBagConstraints c = new GridBagConstraints();
JButton buttonH;
JButton buttonB;
JButton cButton;
JCheckBox checkboxP;
JCheckBox checkboxV;
JCheckBox checkboxD;
JCheckBox checkboxM;
if(shouldFill)
{
c.fill = GridBagConstraints.HORIZONTAL;
}
//Input Label
label = new JLabel(" Please Enter Folder Destination ");
if(shouldWeightX)
{
c.weightx = 0.5;
}
c.ipady = 10;
c.fill = GridBagConstraints.BOTH;
c.gridwidth = 2;
c.gridx = 0;
c.gridy = 0;
pane.add(label, c);
//Blank Label
label = new JLabel (" ");
c.fill = GridBagConstraints.BOTH;
c.ipady = 5;
c.gridx = 2;
c.gridy = 1;
pane.add(label, c);
//Text Field
text = new JTextField(" Folder Path ");
c.ipady = 0;
c.fill = GridBagConstraints.BOTH;
c.weightx = 0.0;
c.gridx = 0;
c.gridy = 2;
c.gridwidth = 3;
pane.add(text, c);
text.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent t)
{
textAreaPath = text.getText();
p1 = Paths.get(textAreaPath);
}
});
//Browse Button
buttonB = new JButton(" Browse ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 3;
c.gridwidth = 1;
c.gridy = 2;
pane.add(buttonB, c);
buttonB.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent b)
{
JFileChooser fc = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter
("Directories","Directories");
fc.setCurrentDirectory(new java.io.File("home.desktop"));
fc.setAcceptAllFileFilterUsed(false);
fc.setFileFilter(filter);
fc.setDialogTitle(DIRECTORY);
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int returnVal = fc.showOpenDialog(text);
if (returnVal == JFileChooser.APPROVE_OPTION)
{
text.setText(fc.getSelectedFile().getAbsolutePath());
}
;
}
});
//Blank Label
label = new JLabel (" ");
c.fill = GridBagConstraints.BOTH;
c.ipady = 10;
c.gridx = 0;
c.gridwidth = 3;
c.gridy = 3;
pane.add(label, c);
//Continue Button
cButton = new JButton(" Continue ");
c.fill = GridBagConstraints.BOTH;
c.ipady = 0;
c.gridwidth = 1;
c.gridx = 3;
c.gridy = 4;
pane.add(cButton, c);
//Help Button
buttonH = new JButton (" Help ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridy = 4;
pane.add(buttonH, c);
c.weighty = 3.0;
c.anchor = GridBagConstraints.PAGE_END;
buttonH.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent h)
{
JFrame frameH = new JFrame(" Help ");
JLabel labelH;
frameH.setResizable(false);
frameH.setSize(300, 150);
labelH = new JLabel("<html> In The 'Folder Path' Text Area,"
+" Input The Location Where You Would Like To Create"
+" The New Folder. <br><br> Then Choose The File Type"
+" That You Would Like To Have Sorted Into The Folder."
+"<html> ");
frameH.getContentPane().add(labelH);
frameH.setVisible(true);
}
}); //Ends Action Listener
//Label Page Break
label = new JLabel (" ______________________________________________"
+"_____________________________ ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridwidth = 5;
c.gridy = 5;
pane.add(label, c);
//Blank Label
label = new JLabel (" ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridwidth = 5;
c.gridy = 6;
pane.add(label, c);
//Label Check Box Instructions
label = new JLabel ("<html> Please Select The File Type That You Would"
+" Like To Add To The Folder.<html> ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridwidth = 5;
c.gridy = 7;
pane.add(label, c);
//Check Box (Pictures);
checkboxP = new JCheckBox(" Pictures ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridwidth = 1;
c.gridy = 8;
pane.add(checkboxP, c);
checkboxP.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent p)
{
SEARCHER = "pictures";
}
});
//Check Box (Documents)
checkboxD = new JCheckBox(" Documents ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 2;
c.gridy = 8;
pane.add(checkboxD, c);
checkboxD.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent d)
{
SEARCHER = "documents";
}
});
//Check Box (Videos)
checkboxV = new JCheckBox(" Videos ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 0;
c.gridy = 10;
pane.add(checkboxV, c);
checkboxV.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent v)
{
SEARCHER = "videos";
}
});
//Check Box (Music)
checkboxM = new JCheckBox(" Music ");
c.fill = GridBagConstraints.BOTH;
c.gridx = 2;
c.gridy = 10;
pane.add(checkboxM, c);
checkboxM.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent m)
{
SEARCHER = "music";
}
});
//Searcher If's
if (SEARCHER == pictures)
{
newFolderName = "Pictures";
extensionType = ".jpg"+".png";
}
if (SEARCHER == documents)
{
newFolderName = "Documents";
extensionType = ".txt"+".doc";
}
if(SEARCHER == videos)
{
newFolderName = "Videos";
extensionType = ".wmv"+".mp4"+".mov";
}
if (SEARCHER == music)
{
newFolderName = "Music";
extensionType = ".mp3";
}
//Continue Button Action Listener
cButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent contd)
{
createDirectory(p1);
}
private void createDirectory(Path p1)
{
}
});
}
//Creating The GUI
//-----------------------------------------------------------------------------
private static void createAndShowFrame()
{
JFrame frame = new JFrame(" File Organizer ");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addComponentsToPane(frame.getContentPane());
frame.pack();
frame.setVisible(true);
}
//Main Method Header
public static void main(String[] args)
{
try {
UIManager.setLookAndFeel
(UIManager.getCrossPlatformLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e)
{
e.printStackTrace();
}
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
createAndShowFrame();
}
});
}
}
最佳答案
您唯一需要的是:
File file = new File(text.getText());
if(!file.exists()) file.mkdir();
其中 text.getText() 引用 JTextField,但是,如果您愿意,您将能够使用对象 Path。
关于java - 从具有所需目录名称的路径创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26846862/
这是代码片段。 请说出这种用小内存存储大数据的算法是什么。 public static void main(String[] args) { long longValue = 21474836
所以我使用 imap 从 gmail 和 outlook 接收电子邮件。 Gmail 像这样编码 =?UTF-8?B?UmU6IM69zq3OvyDOtc68zrHOuc67IG5ldyBlbWFpb
很久以前就学会了 C 代码;想用 Scheme 尝试一些新的和不同的东西。我正在尝试制作一个接受两个参数并返回两者中较大者的过程,例如 (define (larger x y) (if (> x
Azure 恢复服务保管库有两个备份配置选项 - LRS 与 GRS 这是一个有关 Azure 恢复服务保管库的问题。 当其驻留区域发生故障时,如何处理启用异地冗余的恢复服务保管库?如果未为恢复服务启
说,我有以下实体: @Entity public class A { @Id @GeneratedValue private Long id; @Embedded private
我有下一个问题。 我有下一个标准: criteria.add(Restrictions.in("entity.otherEntity", getOtherEntitiesList())); 如果我的
如果这是任何类型的重复,我会提前申请,但我找不到任何可以解决我的具体问题的内容。 这是我的程序: import java.util.Random; public class CarnivalGame{
我目前正在使用golang创建一个聚合管道,在其中使用“$ or”运算符查询文档。 结果是一堆需要分组的未分组文档,这样我就可以进入下一阶段,找到两个数据集之间的交集。 然后将其用于在单独的集合中进行
是否可以在正则表达式中创建 OR 条件。 我正在尝试查找包含此类模式的文件名列表的匹配项 第一个案例 xxxxx-hello.file 或者案例二 xxxx-hello-unasigned.file
该程序只是在用户输入行数时创建菱形的形状,因此它有 6 个 for 循环; 3 个循环创建第一个三角形,3 个循环创建另一个三角形,通过这 2 个三角形和 6 个循环,我们得到了一个菱形,这是整个程序
我有一个像这样的查询字符串 www.google.com?Department=Education & Finance&Department=Health 我有这些 li 标签,它们的查询字符串是这样
我有一个带有静态构造函数的类,我用它来读取 app.config 值。如何使用不同的配置值对类进行单元测试。我正在考虑在不同的应用程序域中运行每个测试,这样我就可以为每个测试执行静态构造函数 - 但我
我正在寻找一个可以容纳多个键的容器,如果我为其中一个键值输入保留值(例如 0),它会被视为“或”搜索。 map, int > myContainer; myContainer.insert(make_
我正在为 Web 应用程序创建数据库,并正在寻找一些建议来对可能具有多种类型的单个实体进行建模,每种类型具有不同的属性。 作为示例,假设我想为“数据源”对象创建一个关系模型。所有数据源都会有一些共享属
(1) =>CREATE TABLE T1(id BIGSERIAL PRIMARY KEY, name TEXT); CREATE TABLE (2) =>INSERT INTO T1 (name)
我不确定在使用别名时如何解决不明确的列引用。 假设有两个表,a 和 b,它们都有一个 name 列。如果我加入这两个表并为结果添加别名,我不知道如何为这两个表引用 name 列。我已经尝试了一些变体,
我的查询是: select * from table where id IN (1,5,4,3,2) 我想要的与这个顺序完全相同,不是从1...5,而是从1,5,4,3,2。我怎样才能做到这一点? 最
我正在使用 C# 代码执行动态生成的 MySQL 查询。抛出异常: CREATE TABLE dump ("@employee_OID" VARCHAR(50)); "{"You have an er
我有日期 2016-03-30T23:59:59.000000+0000。我可以知道它的格式是什么吗?因为如果我使用 yyyy-MM-dd'T'HH:mm:ss.SSS,它会抛出异常 最佳答案 Sim
我有一个示例模式,它的 SQL Fiddle 如下: http://sqlfiddle.com/#!2/6816b/2 这个 fiddle 只是根据 where 子句中的条件查询示例数据库,如下所示:
我是一名优秀的程序员,十分优秀!