小编Jef*_*Jef的帖子

如何使用JavaMail处理多部分/备用邮件?

我编写了一个应用程序,它从收件箱中获取所有电子邮件,过滤包含特定字符串的电子邮件,然后将这些电子邮件放入ArrayList中.

将电子邮件放入列表后,我正在处理所述电子邮件的主题和内容.这适用于没有附件的电子邮件.但是当我开始使用带有附件的电子邮件时,它们都不能按预期工作了.

这是我的代码:

public void getInhoud(Message msg) throws IOException {
    try {
        cont = msg.getContent();
    } catch (MessagingException ex) {
        Logger.getLogger(ReadMailNew.class.getName()).log(Level.SEVERE, null, ex);
    }
    if (cont instanceof String) {
        String body = (String) cont;


    } else if (cont instanceof Multipart) {
        try {
            Multipart mp = (Multipart) msg.getContent();
            int mp_count = mp.getCount();
            for (int b = 0; b < 1; b++) {
                    dumpPart(mp.getBodyPart(b));
            }
        } catch (Exception ex) {
            System.out.println("Exception arise at get Content");
            ex.printStackTrace();
        }
    }
}

public void …
Run Code Online (Sandbox Code Playgroud)

java email attachment multipart jakarta-mail

11
推荐指数
2
解决办法
3万
查看次数

动态创建jCheckBox并添加到jScrollPane

编辑:使用下面提供的解决方案,我已经更改了代码,在JScrollPane中有一个JPanel.使用JButton我将JCheckBoxes添加到JScrollPane内的JPanel.这是一个问题,因为JScrollPanecan只接受一个JComponent.解决了其余问题,在JScrollPane中为JPanel设置了gridlayout.为了后代,我在这里保留了原来的问题:

原始问题:我正在尝试动态创建JCheckBox并将它们添加到JScrollPane,但唉,我收效甚微.我将其简化为单一的概念验证实现.

我在JFrame中有一个JScrollPaneon JPanel.同样在JPanel上,我添加了一个按钮,可以在单击时将JCheckBox添加到JScrollPane.应该够简单.按钮内的代码如下:

 private void addCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {

    JCheckBox cb = new JCheckBox("New CheckBox");        

    jScrollPaneCheckBoxes.add(cb);
    jScrollPaneCheckBoxes.revalidate();
 }
Run Code Online (Sandbox Code Playgroud)

代码运行似乎没有错误.我没有例外,使用调试器显示JCheckBox实际上已添加到JScrollPane.不幸的是,应用程序中没有显示任何内容 我需要指导在哪里寻找问题.

这是您可以运行的快速代码.不幸的是,我使用Netbeans和它的GUI设计器将它们放在一起,因此它比它需要的时间长,特别是生成的代码.专注于方法jButton1ActionPerformed,这就是上面代码的来源.

编辑:此代码现在做我需要它.:-)

package dynamiccheckboxsscce;

import javax.swing.JCheckBox;

public class Main extends javax.swing.JFrame {

    /**
     * Creates new form Main
     */
    public Main() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane1.setPreferredSize(new java.awt.Dimension(250, 250));

        jPanel1.setPreferredSize(new java.awt.Dimension(300, 250));
        jPanel1.setLayout(new java.awt.GridLayout(0, 2, 10, 10));
        jScrollPane1.setViewportView(jPanel1);

        jButton1.setText("Add Checkbox");
        jButton1.addActionListener(new java.awt.event.ActionListener() { …
Run Code Online (Sandbox Code Playgroud)

java swing dynamic jscrollpane jcheckbox

6
推荐指数
1
解决办法
1万
查看次数

Hibernate继承

我正在使用hibernate开发一个项目.我有这两个文件:

Persoon.java

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "PROJ_TYPE")
@Table(name = "PROJECT")
public class Persoon {

    @Id
    @GeneratedValue
    protected int persoonsnummer;
    protected String voornaam;
    protected String achternaam;
    protected String adres;
    protected String geboortedatum;
    protected String telefoonnummer;
    protected String titel;

    // Getters and setters ommited for brevity
}
Run Code Online (Sandbox Code Playgroud)

Patient.java

@Entity
@DiscriminatorValue("P")
@Table(name="PATIENT")
public class Patient extends Persoon implements Serializable {   

    protected String allergieen;
    protected String bijzonderheden;

    // Getters and setters ommited for brevity
}
Run Code Online (Sandbox Code Playgroud)

并且Test.java填充表格:

public class Test {
    public static …
Run Code Online (Sandbox Code Playgroud)

java database inheritance hibernate

5
推荐指数
1
解决办法
1055
查看次数

检查时间是否在Android中的时间范围之间

我正在尝试检查当前时间是否在指定范围内。我做了一个方法来检查这个,但它不起作用。我不确定为什么不这样做以及如何让它工作。

private Calendar fromTime;
private Calendar toTime;
private Calendar currentTime;

public boolean checkTime(String time) {
    try {
        String[] times = time.split("-");
        String[] from = times[0].split(":");
        String[] until = times[1].split(":");

        fromTime = Calendar.getInstance();
        fromTime.set(Calendar.HOUR, Integer.valueOf(from[0]));
        fromTime.set(Calendar.MINUTE, Integer.valueOf(from[1]));

        toTime= Calendar.getInstance();
        toTime.set(Calendar.HOUR, Integer.valueOf(until[0]));
        toTime.set(Calendar.MINUTE, Integer.valueOf(until[1]));

        currentTime = Calendar.getInstance();       
        currentTime.set(Calendar.HOUR, Calendar.HOUR_OF_DAY);
        currentTime.set(Calendar.MINUTE, Calendar.MINUTE);
        if(currentTime.after(fromTime) && currentTime.before(toTime)){
            return true;
        }
     } catch (Exception e) {
         return false;
     }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试像这样测试它:

if(checkTime("06:00-19:00")){
    inRange = true;
}
Run Code Online (Sandbox Code Playgroud)

NPE 消失了,但是如果时间在fromTimeto的范围内,它仍然不会计算toTime。很感谢任何形式的帮助!

java time android range

4
推荐指数
1
解决办法
2820
查看次数

JodaTime - 检查LocalTime是否在现在之后,现在是在另一个LocalTime之前

我试图检查当前时间是在开始之后LocalTime还是在另一个结束之前LocalTime,即开始时间加上11个小时.如果开始时间是11:00(结束时间是22:00),这可以正常工作.但是,当我尝试比较16:00的开始时间和03:00的结束时间时,currentTime.isBefore(endTime)将永远不会记录,但它应该是.

LocalTime currentTime = LocalTime.now(); //21:14
LocalTime startTime = new LocalTime( 16, 00, 0, 0);
LocalTime endTime = startTime.plusHours(11); //03:00 Midnight

    if(currentTime.isAfter(startTime)){
        Log.v("Test", "After startTime");
    }

    if(currentTime.isBefore(endTime)){
        Log.v("Test", "Before endTime");
    }
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题?

java time android jodatime

4
推荐指数
1
解决办法
4883
查看次数

将数据写入String

这可能很容易解决,但我现在坚持了一段时间.我有一个while循环,我用来写数据.我想将while循环中的数据写入String.

public void dumpPart(Part p) throws Exception {
    InputStream is = p.getInputStream();
    if (!(is instanceof BufferedInputStream)) {
        is = new BufferedInputStream(is);
    }
    int c;
    System.out.println("Message: ");
    while ((c = is.read()) != -1) {
        System.out.write(c);  //I want to write this data to a String.

    }
    sendmail.VerstuurEmail(mpMessage, kenmerk);
}
Run Code Online (Sandbox Code Playgroud)

解决了:

public void dumpPart(Part p) throws Exception {
    InputStream is = p.getInputStream();
    if (!(is instanceof BufferedInputStream)) {
        is = new BufferedInputStream(is);
    }
    int c;
     final StringWriter sw = new StringWriter();
    System.out.println("Message: ");
    while …
Run Code Online (Sandbox Code Playgroud)

java string object

3
推荐指数
2
解决办法
430
查看次数

用算法计算

对不起,我想不出一个好头衔.

我正在进行与信息通信技术相关的练习并遇到这样的问题:

计算alg a(n)并且alg b(n)对于n = 1,2,3,4和5

(a)
    alg_a(n):result
    if n > 1 then
    return(alg_a(n?1)+alg_a(n?1))
    else return(1)

(b)
    alg_b(n):result
    if n > 1 then
    return(2 · alg_b(n?1))
    else return(1)
Run Code Online (Sandbox Code Playgroud)

首先,第1行的代码是什么(alg_a(n):result)?

答:问题要求我计算alg a(n),所以我说插入1 , if n > 1 --> no --> return 1. 但是当我插入n = 2时会发生什么.

任何帮助表示赞赏,

谢谢!

algorithm math

2
推荐指数
1
解决办法
139
查看次数