Time converter in Java
You asked about efficiency, which I am not an expert in. However, if you are going to share your code here, it would be nice if you could adapt it to the Java code style conventions.
In short: you should use PascalCase for your class names, so...


Main.java instead of main.java
Time.java instead of time.java
Window.java instead of window.java


Also, using single-letter names for your parameters is discouraged (borderline in the case of the fairly obvious int h and int m, bad in the case of String t). Why not hours, minutes, and halfOfDaySuffix? I'm sure you could find an even better term for the latter with a little research.

If you haven't already, make sure you organize your code into one or more package(s), e.g. put package com.jackwilsdon.TimeConversion; at the beginning of your files. This helps avoid name clashing problems (for instance with java.sql.Time).

In regard to to24h(): Never compare two Strings with the == (reference equals) operator in Java. This will only work in a narrow range of scenarios, read the full explanation on StackOverflow. You need to use the String.equals method instead.

But while we are at it, you shouldn't be using a String to represent AM/PM anyway - it will stop working if you pass in the wrong string, for instance pm instead of PM by mistake. Instead, restrict the possible values by creating an Enum:

public enum DayHalf {
    AM,
    PM
}


Then (in Window), you can change tAMPM's type from String to DayHalf - the following line will stop working:

tAMPM = (String)combo.getSelectedItem();


So you need to use combo = new JComboBox(DayHalf.values()); instead of combo = new JComboBox(times); and change the above line to 

tAMPM = (DayHalf)combo.getSelectedItem();


If you are passing in AM or PM, hours above 12 are not acceptable - neither are minutes above 59! Hence, your conditions are erroneous; also, silently failing by setting the fields to 0 isn't a robust solution. You should throw an IllegalArgumentException if the values are out of range.

Your updated setTime method would look something like this:

public void setTime(int hours, int minutes, DayHalf halfOfDaySuffix) {
    if (hours &lt; 0 || hours &gt; 12 || minutes &lt; 0 || minutes &gt; 59)
        throw new IllegalArgumentException("hours or minutes out of allowed range!");
    hour = hours;
    minute = minutes;
    dayHalf = halfOfDaySuffix;
}


Regarding your JFrame (Window.java, should probably be called TimeConversionWindow.java), you should adjust the obviously copied-and-pasted error message:

else if (tMinutes &gt; 60) {
    output.setText("Please enter a 12 hour number!");
}


to "Please enter less than 60 minutes!" or similar. Note that your condition (tMinutes &gt; 60) is incorrect once again and should be changed to &gt; 59.

A couple of other adjustments will be required, but they are easy to figure out. I'd argue that performance is nearly irrelevant in this scenario, read up on bottlenecks.